我正在尝试用mex编译c++代码,但无法成功编译。阅读一些相关的博客,我安装了微软Visual c++ 2010 Express和Windows软件开发工具包(SDK) 7.1,但仍然给出这个错误:
有谁能帮我解决这个问题吗?facePart.cpp(5):致命错误C1083: Cannot open include file: 'stdafx.h': No such file or directory
我使用64位Windows平台与matlab版本2011a…
顺便说一下,在输入mex -setup之后,它会给我这样的东西:Please choose your compiler for building MEX-files:
Would you like mex to locate installed compilers [y]/n? y
Select a compiler: [1] Microsoft Visual C++ 2010 Express in C:Program Files (x86)Microsoft Visual Studio 10.0
[0] None
Compiler: 1
Please verify your choices:
Compiler: Microsoft Visual C++ 2010 Express Location: C:Program Files (x86)Microsoft Visual Studio 10.0
Are these correct [y]/n? y
************************************************************************* Warning: MEX-files generated using Microsoft Visual C++ 2010 require that Microsoft Visual Studio 2010 run-time libraries be available on the computer they are run on. If you plan to redistribute your MEX-files to other MATLAB users, be sure that they have the run-time libraries. *************************************************************************
Trying to update options file: C:UsersJOYAppDataRoamingMathWorksMATLABR2011amexopts.bat From template: C:PROGRA~1MATLABR2011abinwin64mexoptsmsvc100freeopts.bat
Done . . .
************************************************************************ Warning: The MATLAB C and Fortran API has changed to support MATLAB variables with more than 2^32-1 elements. In the near future you will be required to update your code to utilize the new API. You can find more information about this at: http://www.mathworks.com/support/solutions/en/data/1-5C27B9/?solution=1-5C27B9 Building with the -largeArrayDims option enables the new API. ************************************************************************
从代码中删除#include "stdafx.h",或者创建一个空的stdafx.h。
确保C:UsersJOYAppDataRoamingMathWorksMATLABR2011amexopts.bat不包含类似/Yu "stdafx.h"