Matlab符合C ++文件错误:致命错误C1083:无法打开包含文件:' stdafx.h'

时间:2016-09-27 02:45:05

标签: c++ matlab

我在下载了一个名为Miguel_2D_unwrapper.cpp的c ++文件: http://read.pudn.com/downloads199/sourcecode/graph/texture_mapping/938065/phase%20unwraping/Miguel_2D_unwrapper.cpp__.htm

当我尝试在Matlab中使用C ++代码时(在Matlab命令中输入:mex Miguel_2D_unwrapper_with_mask.cpp),会弹出一个错误:

  

致命错误C1083:无法打开包含文件:' stdafx.h':没有此类文件或目录。

当我试图评论" stdafx.h"通过// #include" stdafx.h",弹出另一个错误:

  

使用mex时出错    LINK:错误LNK2001:未解析的外部符号mexFunction
  Miguel_2D_unwrapper.lib:致命错误LNK1120:1个未解析的外部。

我使用Microsoft Windows SDK 7.1(C ++)与Microsoft Visual C ++ 2015 Professional'用于C ++语言编译。

有人可以帮我解决这个问题吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您的.cpp文件使用了多个头文件, stdafx.h 就是其中之一。该头文件通常由Visual Studio IDE创建,不是标准库的一部分,也不是Windows SDK的一部分。您可以尝试从cpp文件中删除以下行:

#include "stdafx.h"

并将其替换为实际的stdafx.h内容,在大多数情况下是:

#pragma once

#include "targetver.h"

#include <stdio.h>
#include <tchar.h>

另一个选择是自己创建一个 stdafx.h 文件,用上面的内容填充它并将它放在cpp文件所在的文件夹中。