唉......最近我一直在努力使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文件构建我的源代码。 谢谢。
卡欧
答案 0 :(得分:0)
在http://www.fuzzylite.com检查新版本的fuzzylite-2.0。那个问题已经解决了。
Windows要求将__declspec(dllexport)
添加到类中,这在以前的版本中不存在。今天,每个课程都以class FL_EXPORT Engine
开头,其中FL_EXPORT
是缺失的定义。