分享

mongoclient.lib连接出现error LNK2001错误

mniwc 发表于 2013-10-17 21:37:20 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 5 7575

已有(5)人评论

跳转到指定楼层
jellyzone14 发表于 2013-10-17 21:37:58

            1>------ Build started: Project: MongodbFirst, Configuration: Release x64 ------
1>mongoclient.lib(log.obj) : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
1>mongoclient.lib(log.obj) : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
1>mongoclient.lib(log.obj) : error LNK2001: unresolved external symbol "class boost::filesystem2::file_status __cdecl boost::filesystem2::detail::status_api(class std::basic_string,class std::allocator > const &,class boost::system::error_code &)" (?status_api@detail@filesystem2@boost@@YA?AVfile_status@23@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAVerror_code@system@3@@Z)
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_SymGetLineFromAddr64
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_SymSetOptions
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_SymGetOptions
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol "private: static class std::codecvt const * & __cdecl boost::filesystem3::path::wchar_t_codecvt_facet(void)" (?wchar_t_codecvt_facet@path@filesystem3@boost@@CAAEAPEBV?$codecvt@_WDH@std@@XZ)
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol "public: class boost::filesystem3::path __cdecl boost::filesystem3::path::parent_path(void)const " (?parent_path@path@filesystem3@boost@@QEBA?AV123@XZ)
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol "void __cdecl boost::filesystem3::path_traits::convert(char const *,char const *,class std::basic_string,class std::allocator > &,class std::codecvt const &)" (?convert@path_traits@filesystem3@boost@@YAXPEBD0AEAV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@AEBV?$codecvt@_WDH@5@@Z)
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol "void __cdecl boost::filesystem3::path_traits::convert(wchar_t const *,wchar_t const *,class std::basic_string,class std::allocator > &,class std::codecvt const &)" (?convert@path_traits@filesystem3@boost@@YAXPEB_W0AEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV?$codecvt@_WDH@5@@Z)
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_SymCleanup
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_SymGetModuleInfo64
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_SymInitialize
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_StackWalk64
1>mongoclient.lib(stacktrace.obj) : error LNK2001: unresolved external symbol __imp_SymFromAddr
1>C:\Users\zhufei\Desktop\MongodbFirst\x64\Release\MongodbFirst.exe : fatal error LNK1120: 15 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
我也碰到的相同的原因...
        
回复

使用道具 举报

jellyzone14 发表于 2013-10-17 21:38:30

            我也碰到了相同的原因..
        
回复

使用道具 举报

jellyzone14 发表于 2013-10-17 21:39:29

            #pragma comment(lib, "Dbghelp.lib")
#pragma comment(lib, "libboost_filesystem-vc100-mt-s-1_49.lib")
加上以上两行,  只剩下 2个错误了. 如下
1>mongoclient.lib(log.obj) : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
1>libboost_filesystem-vc100-mt-s-1_49.lib(v2_operations.obj) : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
1>mongoclient.lib(log.obj) : error LNK2001: unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::generic_category(void)" (?generic_category@system@boost@@YAAEBVerror_category@12@XZ)
1>C:\Users\zhufei\Desktop\MongodbFirst\x64\Release\MongodbFirst.exe : fatal error LNK1120: 2 unresolved externals
加上 #pragma comment(lib, "libboost_system-vc100-mt-s-1_49.lib") 并不能解决
补充:
C:\mongodb-src-r2.2.3\build\win32\64\release\client_build  
我链接的的确是以上目录下的 x64 release lib (scons --release --64 mongoclient.lib)
        
回复

使用道具 举报

jellyzone2 发表于 2013-10-17 21:40:23

            
在工程中手动加上 error_code.cpp 就能解决上面的2个问题, 在mongodb源码解决方案中的simple_client_demo工程,它自己加上了  error_code.cpp 得到启发,解决了以上问题.
自己编译lib的问题是如此之多,  这里还不算版本冲突等问题, 所以建议大家用下面连接的方式
http://docs.mongodb.org/ecosystem/tutorial/download-and-compile-cpp-driver/
If you have a compatibility problem with the library, include mongo_client_lib.cpp in your project instead. For example:
在工程中加上 momngodb源码中的mongo_client_lib.cpp 就相当于加上了lib .
总值 开源的东西是给专家用的, 对我们只想熟悉 看看mongodb, 不想深入的人真叫一个恶心.
        
回复

使用道具 举报

yhrun 发表于 2013-10-17 21:41:21

            mongodb有依赖库,boost里面的filesystem等···
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条