在matlab中使用mex编译C ++时,如何摆脱stdafx.h错误?

时间:2013-04-24 04:01:20

标签: matlab compiler-errors mex stdafx.h

我正在尝试使用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. ************************************************************************

1 个答案:

答案 0 :(得分:1)

从代码中删除#include“stdafx.h”,或者创建一个空的stdafx.h。

确保C:\ Users \ JOY \ AppData \ Roaming \ MathWorks \ MATLAB \ R2011a \ mexopts.bat不包含/ Yu“stdafx.h”等选项