[英]Migrating OmniDriver from Matlab to Octave. Need to find librarypath.txt for Octave?
我目前使用Matlab和Ocean Optics Omnidriver( http://oceanoptics.com/faq/controlling-usb-spectrometers-omnidriver-matlab/ )來控制Windows 7機器上的USB光譜儀,並且我正嘗試遷移到八度。
Omnidriver用Java編寫,並且有適用於Matlab的合理文檔。 安裝驅動程序后,相關的Matlab命令為:
>> javaaddpath('C:\Program Files\Ocean Optics\OmniDriver\OOI_HOME\OmniDriver.jar');
>> wrapper = com.oceanoptics.omnidriver.api.wrapper.Wrapper();
>> wrapper.openAllSpectrometers();
一旦將'\\'替換為'/',第一行似乎直接翻譯,我可以看到文件已添加到動態Java路徑中。
第二行直接拋出“錯誤:'com'未定義”,而是替換為;
>> wrapper = javaObject ("com.oceanoptics.omnidriver.api.wrapper.Wrapper")
似乎有效。
第三行直接引發錯誤; “錯誤:[java] java.lang.NoClassDefFoundError:無法初始化com.oceanoptics.uniusb.UniUSB類”
這就是我目前停留的位置(UniUSB.jar是OOI_HOME中的文件)。 在上面鏈接的OceanOptics頁面上,我假設是相同的錯誤,這是由Matlab找不到所需的DLL引起的常見問題,並且給出的解決方案是將OOI_HOME的路徑添加到matlabroot / toolbox / local / librarypath.txt
我假設如果可以找到等效的八度音階文件,則添加路徑應該可以解決我的問題,但是找不到該文件。
任何建議將不勝感激!
編碼
>> javaaddpath('C:\Program Files\Ocean Optics\OmniDriver\OOI_HOME\OmniDriver.jar');
>> wrapper = com.oceanoptics.omnidriver.api.wrapper.Wrapper();
>> wrapper.openAllSpectrometers();
可以更好地翻譯:
wrapper = javaObject ("com.oceanoptics.omnidriver.api.wrapper.Wrapper");
javaMethod ("openAllSpectrometers", wrapper);
請注意,這也是有效的Matlab語法。
另一件事是,如果Octave位於靜態經典路徑上,則它們可以更好地處理Java類。 因此,我建議您將OmniDriver.jar
的路徑添加到javaclasspath.txt
文件中。 有關詳細信息,請參見手冊 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.