OGRE错误LNK2001:未解析的外部符号

时间:2014-07-20 19:54:23

标签: c++ visual-studio boost compiler-errors ogre

我正在尝试在VS 2013中编译一些OGRE示例,但无论我做什么,我都会遇到同样的错误:

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

OGRE SDK附带了boost库。不幸的是它与VS2013不兼容所以我已经下载了使用VS2013编译的最新版本。你可以找到它here

“其他包含目录”和“其他库目录”已正确设置。

1 个答案:

答案 0 :(得分:0)

您使用声明但不是已实现的符号的错误状态,boost::system::error_category是一种提升方法,各种库使用时管理错误,它属于系统库,此方法的实现位于 [BOOST_ROOT] \ boost \ libs \ system \ src \ error_code.cpp

最可能的原因是你包含了 OGRE的库或包含一些使用它的 boost库的库的一部分方法

来自boost的很多库只是标题,但是这个特定的库系统不是,它需要编译这个 .cpp :两个可能的修复程序正在编译一个<来自boost的强> .LIB或.DLL (有关详细信息,请参阅Prepare to Use a Boost Library Binary)并在您的项目中使用它(如果您使用很多来自boost的库,可能会更好)仅限标题)或最简单的修复:在项目中包含error_code.cpp文件并再次编译。