错误LNK2019:未解析的外部符号 - 仅.h文件

时间:2012-10-28 17:56:58

标签: visual-studio-2010 visual-c++ linker-errors lnk2019

唉......最近我一直在努力使Visual Studio 2010(VC ++)包含我想在项目中使用的一堆第三方库。这就是问题:链接器似乎无法确定我的代码中生成的每个符号来自第三方库定义。我已经在我的include目录中包含了头文件路径以及源目录中的源路径,但它仍然无法正常工作。我已经谷歌搜索了一段时间,在大多数情况下,问题是由链接器的附加依赖项上缺少.lib文件的引用引起的,但是库没有附带它们。

这是一段示例代码:

#include "stdafx.h"
#include <fuzzylite\FuzzyEngine.h>

int _tmain(int argc, _TCHAR* argv[])
{
    fl::FuzzyEngine eng;
    return 0;
}

这就是输出VS显示

Fuzzycolors.obj : error LNK2019: unresolved external symbol "public: virtual __thiscall fl::FuzzyEngine::~FuzzyEngine(void)" (??1FuzzyEngine@fl@@UAE@XZ) referenced in function _wmain
Fuzzycolors.obj : error LNK2019: unresolved external symbol "public: __thiscall fl::FuzzyEngine::FuzzyEngine(void)" (??0FuzzyEngine@fl@@QAE@XZ) referenced in function _wmain

所以我想知道是否有办法使用我的第三方库的.h和.cpp文件构建我的源代码。 谢谢。

卡欧

1 个答案:

答案 0 :(得分:0)

http://www.fuzzylite.com检查新版本的fuzzylite-2.0。那个问题已经解决了。

Windows要求将__declspec(dllexport)添加到类中,这在以前的版本中不存在。今天,每个课程都以class FL_EXPORT Engine开头,其中FL_EXPORT是缺失的定义。