C ++链接错误

时间:2011-07-24 13:41:55

标签: c++ linker-errors

我在Visual Studio 2008中编译并得到此错误。我研究了连锁错误,但仍不确定它是什么。这是扑克游戏的完成代码,所以我宁愿不发布代码。有人可以为我翻译此错误消息吗?

  

错误LNK2019:未解析的外部符号“void __cdecl betFold(double)”(?betFold @@ YAXN @ Z)在函数“void __cdecl flopAction(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)”中引用(?flopAction@@YAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)OH-DLL.obj

4 个答案:

答案 0 :(得分:3)

这意味着您已声明此方法但未对其进行定义。或者至少链接器无法找到定义,因为它位于您未引用的库中,或者因为它位于不属于构建过程的对象文件(源文件)中。

答案 1 :(得分:3)

您的函数void flopAction(std::string arg)使用在某些标头中引用和声明的函数betFold(double),但未实现,以便链接器能够找到它。

答案 2 :(得分:0)

听起来好像忘了指定属于* .dll的* .lib文件。您可以编辑项目属性页面下的列表 - &gt;配置属性 - &gt;链接器 - &gt;输入,记得为Debug和Release配置执行此操作。

请尽量避免像wtf等短语:)

答案 3 :(得分:-1)

此外,您可以检查您的签名(函数声明),以便它只包含其中的类型参数列表,而在定义(.cpp文件)中,它包含类型和参数名称。例如,

在声明所在的.h文件中:

void myfunc(int, char*);

并在定义所在的.cpp文件中:

void myfunc(int num, char* name)
{
 //
}

我之前在大学里学到了这一点,但不确定Dev C ++是否支持它,很久以前就把这些东西留了下来,当时只使用Borland。

希望这会有所帮助。 感谢。