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

Matlab complies C++ file error: fatal error C1083: Cannot open include file: 'stdafx.h'

本文关键字:文件 包含 stdafx C1083 错误 C++ Matlab 致命错误      更新时间:2023-10-16

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

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

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

当我试图用//#include"stdafx.h"注释"stdafx.h"时,会弹出另一个错误:

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

我使用Microsoft Windows SDK 7.1(C++(和"Microsoft Visual C++2015 Professional"进行C++语言编译。

有人能帮我解决这个问题吗?谢谢

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