DLL Build与字符串类型相关的错误

时间:2011-10-27 20:36:47

标签: c++ visual-studio-2010 dll

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>,但仍然会遇到相同的错误。我确信这很简单。

2 个答案:

答案 0 :(得分:0)

定义文件不是C ++。从那里删除using namespace std;。此外,您不应该编译它,如果您想使用它,您需要修改项目的链接器设置。

答案 1 :(得分:0)

您已将.def文件添加到项目中。它被编译好像它是一个源代码文件。那不行。

右键单击项目,“属性”,“链接器”,“输入”。将模块定义文件设置为“defFile.def”。