我试图从C++源代码编译一些MATLAB文件。我正在尝试编译可以在这里找到的文件;我在32位系统上使用Windows,MATLAB 2012 a,并安装了MicrosoftWindowsSDKv7.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安装了MicrosoftWindowsSDKv7.1的编译器。有趣的是,虽然我已经在我的系统上安装了它们,但是MATLAB没有看到MS Visual C++ 2008 或 2010。我也尝试过用LCC-Win32C2.4.1编译器编译(这是MATLAB认可的),效果与上面所示相同。
我了解到,这组特定的C++源文件可能需要一些名为利布洛的东西来编译(我不确定这是编译时的要求还是运行时的要求);据我所知,我已经正确安装了这些文件,但问题可能也在这里。
任何帮助都将不胜感激。
发布于 2013-02-13 12:38:31
尝试将您的.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.cpphttps://stackoverflow.com/questions/14853603
复制相似问题