食人魔错误LNK2001:无法解析的外部符号

OGRE error LNK2001: unresolved external symbol

本文关键字:外部 符号 错误 LNK2001 食人魔      更新时间:2023-10-16

我试图得到一些OGRE样本在VS 2013中编译,但我一直得到相同的错误,无论我做什么:

error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)"

OGRE SDK与boost库一起提供。不幸的是,它与VS2013不兼容,所以我下载了使用VS2013编译的最后一个版本。你可以在这里找到

"additional Include Directories"answers"additional Library Directories"已正确设置。

错误状态,您正在使用的符号是声明,但不是实现boost::system::error_category是一种boost方法,各种库在管理错误时使用,它属于系统库,该方法的实现在[BOOST_ROOT]boostlibssystemsrcerror_code.cpp。最可能的原因是您包含了OGRE的库或库的一部分,其中包含了使用此方法的boost的库

boost中的许多库都是头文件,但是这个特定的库system不是,它需要编译这个.cpp:两种可能的修复方法是编译一个。LIB或. dll 从boost(请参阅准备使用boost库二进制文件获取有关此的更多信息),并在您的项目中使用此(如果您将使用许多来自boost的库而不仅仅是头)或最简单的修复方法:包括error_code.cpp文件在您的项目中并再次编译。