编译Matlab到C ++问题:致命错误C1083:无法打开包含文件:'windows.h'

时间:2009-11-06 02:41:48

标签: c++ matlab

当我尝试使用以下命令将matlab编译为C ++时,我遇到了这个奇怪的错误:

'mcc -W lib:cshared -d ' clibdir ' -T link:lib ' mfile

我得到的错误是:

  

致命错误C1083:无法打开包含   file:'windows.h':没有这样的文件或   目录

现在,我使用lcc作为我的编译器(而不是Visual Studio),我确保Windows.h位于lcc \ include目录(C:\Program Files\MATLAB\R2006a\sys\lcc\include)内部,但我仍然有错误的windows.h错误,即使我将其包含在include文件夹中。

任何人都知道为什么会这样?

注意:我在SO上读过类似的问题,发现这些问题与include folders not set等有关。但我确实有包含路径集,我相信

2 个答案:

答案 0 :(得分:4)

您引用的错误消息来自Visual C ++,所以您显然使用lcc,因此您在lcc的目录中放入的文件没有任何区别。尝试运行mbuild -setup以配置Matlab以使用不同的编译器命令。

如果您(或代表您的Matlab)将运行Visual C ++命令行编译器,那么您应该在命令提示符中运行它,并设置所有正确的环境变量,例如包含路径。 Visual Studio应该在“开始”菜单上放置一个项目,否则您可以从其他控制台窗口中运行vsvars32.bat文件。

答案 1 :(得分:1)

我找到了一种解决方法 - 在“开始”菜单中,您会找到Microsoft Visual Studio 2010 Express\Visual Studio Command Prompt (2010)

之类的内容

这将启动命令提示符并设置所有环境变量,包括LIB,INCLUDE等。然后,从此命令提示符启动MATLAB !例如:只需输入C:\Program Files\MATLAB\R2012a\bin\matlab.exe即可。结果,您可以从此MATLAB会话中调用MEX。