我在下载了一个名为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 ++语言编译。
有人可以帮我解决这个问题吗?谢谢!
答案 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文件所在的文件夹中。