2016-09-27 89 views
0

我下载了所谓的Miguel_2D_unwrapper.cpp一个C++文件在: http://read.pudn.com/downloads199/sourcecode/graph/texture_mapping/938065/phase%20unwraping/Miguel_2D_unwrapper.cpp__.htmMatlab的符合C++文件错误:致命错误C1083:无法打开包含文件:“stdafx.h中”

当我尝试使用Matlab的C++代码(只需键入:MEX Miguel_2D_unwrapper_with_mask.cpp在Matlab命令),一个错误弹出:

fatal error C1083: Cannot open include file: 'stdafx.h': No such file or directory.

当我尝试用//#评论的 “stdafx.h中” 包括 “stdafx.h中”,另一个错误啪啪up:

Error using mex LINK : error LNK2001: unresolved external symbol mexFunction
Miguel_2D_unwrapper.lib : fatal error LNK1120: 1 unresolved externals.

我使用Microsoft Windows SDK 7.1(C++)与用于C++语言编译的“Microsoft Visual C++ 2015 Professional”结合使用。

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

+1

也许你应该下载整个RAR档案,而不仅仅是单个文件。 –

+1

此外,虽然您可能能够使用MATLAB准备数据,然后通过该例程运行该文件,但不会将该文件设置为MEX功能执行。 –

+0

我已经在Matlab中的当前文件夹中拥有整个存档。我按照该算法的作者之一的建议,在matlab中运行C++代码。代码应该能够在Matlab中成功编译 – jingweimo

回答

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文件所在的文件夹中。

+0

我曾尝试通过(//#include“stdafx.h”)评论#include“stdafx.h”,但这会导致另一个错误:使用mex的错误 LINK:错误LNK2001 :无法解析的外部符号mexFunction Miguel_2D_unwrapper.lib:致命错误LNK1120:1个未解析的外部事件。我对C++不是很熟悉。最好的是在matlab中执行代码。 – jingweimo

+0

@jingweimo答案解决了如何解决'无法打开包含文件:'stdafx.h''错误的问题。至于其他错误,你应该问一个单独的问题。 – 2016-09-28 10:24:58

相关问题