2

我正在尝试使用 mex 编译 C++ 代码,但无法成功编译。阅读一些相关博客,我安装了 Microsoft Visual C++ 2010 Express 和 Windows 软件开发工具包 (SDK) 7.1,但仍然出现此错误:

facePart.cpp(5):致命错误 C1083:无法打开包含文件:'stdafx.h':没有这样的文件或目录

任何人都可以帮助我找出问题...?

我正在使用带有 matlab 版本 2011a 的 64 位 Windows 平台...

顺便说一句,在输入 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. ************************************************************************
4

1 回答 1

1

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

确保 C:\Users\JOY\AppData\Roaming\MathWorks\MATLAB\R2011a\mexopts.bat 不包含 /Yu "stdafx.h" 之类的选项

于 2013-04-24T07:35:33.873 回答