我正在尝试在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
“其他包含目录”和“其他库目录”已正确设置。
答案 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
文件并再次编译。