0

C++ソースからいくつかのMATLABMEXファイルをコンパイルしようとしています。私がコンパイルしようとしているファイルはここにあります; 32ビットシステムのMATLAB2012aで​​WindowsXPを使用しており、コンパイラとして使用するためにMicrosoft WindowsSDKv7.1をインストールしました。

コンパイルしようとすると、MATLABは次のエラーを出力します。

>> mex -O -largeArrayDims osc_free_address.c
osc_free_address.c 
osc_free_address.c(1) : error C2059: syntax error : '<' 
osc_free_address.c(37) : error C2015: too many characters in constant 
osc_free_address.c(38) : error C2059: syntax error : '<' 
osc_free_address.c(39) : error C2015: too many characters in constant 
osc_free_address.c(39) : error C2015: too many characters in constant 
osc_free_address.c(39) : error C2015: too many characters in constant 
osc_free_address.c(41) : error C2018: unknown character '0x40' 
osc_free_address.c(43) : error C2015: too many characters in constant 
osc_free_address.c(44) : error C2015: too many characters in constant 
osc_free_address.c(44) : error C2015: too many characters in constant 
osc_free_address.c(44) : error C2015: too many characters in constant 
osc_free_address.c(44) : error C2015: too many characters in constant 
osc_free_address.c(46) : error C2059: syntax error : '<' 
osc_free_address.c(82) : fatal error C1021: invalid preprocessor command 'page' 

  C:\PROGRA~1\MATLAB\R2012A\BIN\MEX.PL: Error: Compile of 'osc_free_address.c' failed. 

Error using mex (line 206)
Unable to complete successfully.

mex -setupを使用して、 Microsoft WindowsSDKv7.1でコンパイラをセットアップしました。興味深いことに、システムにインストールしていますが、MATLABはMS Visual Studio C ++ 2008または2010を認識しません。また、Lcc-win32 C 2.4.1コンパイラ(MATLAB認識されます)を使用して同じようにコンパイルしてみました。上記のような効果。

この特定のC++ソースファイルのセットでは、コンパイルにlibloと呼ばれるもの必要になる可能性があることを理解しています(これがコンパイル時または実行時の要件かどうかはわかりません)。私が知っている限り、これらは正しくインストールされていますが、問題はここにもある可能性があります。

どんな助けでも大歓迎です。

4

1 に答える 1

2

.cファイルの名前を変更し.cppて再コンパイルしてみてください

>> mex -largeArrayDims -O osc_free_address.cpp

さらに、パッケージに付属の build m ファイルを試してみませんか (この質問で提案されているように)。

liblo をダウンロードしてコンパイルしましたか? mexコマンドにインクルード パスとライブラリ パスを追加する必要があるかもしれません。

>> mex -largeArrayDims -O -I<liblo include path> -L<liblo lib path> -llo osc_free_address.cpp
于 2013-02-13T12:38:31.393 に答える