3我正在学习如何使用C ++编写DLL并遵循this tutorial video来启动我。我完全遵循,我的代码是:
defFile.def:
LIBRARY "square"
EXPORTS
square
funct.cpp:
double __stdcall square(double & x)
{
return x*x;
}
尝试使用VSE 2010构建时,出现以下错误:
1>------ Build started: Project: square, Configuration: Debug Win32 ------
1> defFile.def
1>c:\documents and settings\~\my documents\visual studio 2010\projects\square\square\deffile.def(2): error C2143: syntax error : missing ';' before 'string'
1>c:\documents and settings\~\my documents\visual studio 2010\projects\square\square\deffile.def(2): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我尝试在defFile.def的顶部添加#include <string>
,但仍然会遇到相同的错误。我确信这很简单。
答案 0 :(得分:0)
定义文件不是C ++。从那里删除using namespace std;
。此外,您不应该编译它,如果您想使用它,您需要修改项目的链接器设置。
答案 1 :(得分:0)
您已将.def文件添加到项目中。它被编译好像它是一个源代码文件。那不行。
右键单击项目,“属性”,“链接器”,“输入”。将模块定义文件设置为“defFile.def”。