簡體   English   中英

將OmniDriver從Matlab遷移到Octave。 是否需要找到Octave的librarypath.txt?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM