我正在尝试使用mex编译C ++代码,但无法成功编译它。阅读一些相关的博客,我安装了Microsoft Visual C ++ 2010 Express和Windows软件开发工具包(SDK)7.1,但它仍然给出了这个错误:
facePart.cpp(5):致命错误C1083:无法打开包含文件:'stdafx.h':没有这样的文件或目录
任何人都可以帮我解决问题......?
我正在使用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:\Users\JOY\AppData\Roaming\MathWorks\MATLAB\R2011a\mexopts.bat From template: C:\PROGRA~1\MATLAB\R2011a\bin\win64\mexopts\msvc100freeopts.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. ************************************************************************
答案 0 :(得分:1)
从代码中删除#include“stdafx.h”,或者创建一个空的stdafx.h。
确保C:\ Users \ JOY \ AppData \ Roaming \ MathWorks \ MATLAB \ R2011a \ mexopts.bat不包含/ Yu“stdafx.h”等选项