2015-01-06 51 views
0

我剛剛從Matlab切換到Octave,並想通過Visual Studio繼續編譯mex-files作爲DLL。通過Visual Studio 2013編譯Octave mex文件

我有一個項目,它創建一個DLL並導出mexFunction像以前一樣。我還包括在Octave中找到的mex.h文件,但我無法鏈接。

目前,我得到一個鏈接錯誤,指出:

error LNK2019: unresolved external symbol __imp_mexPrintf referenced in function mexFunction 

我明白爲什麼,但我不知道該怎麼爲包括解決此問題。

任何人都可以幫忙嗎?

C:

感謝

亨裏克

+0

當您編譯用於MATLAB的mex文件時,您需要將它們與libmx和libmex鏈接起來,我假設您錯過了Octave發佈的這些或類似庫。 – Praetorian

+0

@Praetorian。情況正是如此。但是,我還沒有弄清楚它們在Octave框架中的位置。 – Henrik

+2

您應該嘗試首先編譯Octave使用命令行'mex'命令發送的一些示例源文件,並將其傳遞給verbose('-v')開關,並查看鏈接器命令中傳遞的庫的名稱。 – Praetorian

回答

1

的文件中找到\倍頻\倍頻3.8.2 \ LIB \倍頻\ 3.8.2

,我用liboctave .dll.a和liboctinterp.dll.a