簡體   English   中英

無法在Visial Studio 2010中鏈接boost庫。

[英]Trouble linking boost libraries in Visial Studio 2010.

我根據此處的指南編譯了我的boost庫,並嘗試使用boost文件系統庫。

當我添加#include <boost\\filesystem\\operations.hpp>我收到以下錯誤:

error LNK2028: unresolved token (0A00009A) "class boost::system::error_code __clrcall boost::filesystem2::detail::dir_itr_close(void * &)" (?dir_itr_close@detail@filesystem2@boost@@$$FYM?AVerror_code@system@3@AAPAX@Z) referenced in function "public: __clrcall boost::filesystem2::detail::dir_itr_imp<class boost::filesystem2::basic_path<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct boost::filesystem2::path_traits> >::~dir_itr_imp<class boost::filesystem2::basic_path<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct boost::filesystem2::path_traits> >(void)" (??1?$dir_itr_imp@V?$basic_path@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@Upath_traits@filesystem2@boost@@@filesystem2@boost@@@detail@filesystem2@boost@@$$FQAM@XZ)
error LNK2028: unresolved token (0A0000A2) "class boost::system::error_category const & __clrcall boost::system::generic_category(void)" (?generic_category@system@boost@@$$FYMABVerror_category@12@XZ) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall boost::system::posix_category::A0x6367c629(void)''(void)" (???__E?A0x6367c629@posix_category@system@boost@@YMXXZ@?A0x6367c629@@$$FYMXXZ)
error LNK2028: unresolved token (0A0000A3) "class boost::system::error_category const & __clrcall boost::system::system_category(void)" (?system_category@system@boost@@$$FYMABVerror_category@12@XZ) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall boost::system::native_ecat::A0x6367c629(void)''(void)" (???__E?A0x6367c629@native_ecat@system@boost@@YMXXZ@?A0x6367c629@@$$FYMXXZ)
error LNK2019: unresolved external symbol "class boost::system::error_code __clrcall boost::filesystem2::detail::dir_itr_close(void * &)" (?dir_itr_close@detail@filesystem2@boost@@$$FYM?AVerror_code@system@3@AAPAX@Z) referenced in function "public: __clrcall boost::filesystem2::detail::dir_itr_imp<class boost::filesystem2::basic_path<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct boost::filesystem2::path_traits> >::~dir_itr_imp<class boost::filesystem2::basic_path<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct boost::filesystem2::path_traits> >(void)" (??1?$dir_itr_imp@V?$basic_path@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@Upath_traits@filesystem2@boost@@@filesystem2@boost@@@detail@filesystem2@boost@@$$FQAM@XZ)
error LNK2019: unresolved external symbol "class boost::system::error_category const & __clrcall boost::system::generic_category(void)" (?generic_category@system@boost@@$$FYMABVerror_category@12@XZ) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall boost::system::posix_category::A0x6367c629(void)''(void)" (???__E?A0x6367c629@posix_category@system@boost@@YMXXZ@?A0x6367c629@@$$FYMXXZ)
error LNK2019: unresolved external symbol "class boost::system::error_category const & __clrcall boost::system::system_category(void)" (?system_category@system@boost@@$$FYMABVerror_category@12@XZ) referenced in function "void __clrcall `anonymous namespace'::`dynamic initializer for 'void __clrcall boost::system::native_ecat::A0x6367c629(void)''(void)" (???__E?A0x6367c629@native_ecat@system@boost@@YMXXZ@?A0x6367c629@@$$FYMXXZ)

如果我編譯而不包括operations.hpp它工作正常。 問題是當我使用#define BOOST_LIB_DIAGNOSTIC它表明它正在正確鏈接到boost庫:

Linking to lib file: libboost_filesystem-vc100-mt-gd-1_44.lib
Linking to lib file: libboost_system-vc100-mt-gd-1_44.lib

在項目選項中(在鏈接器選項組中)在依賴項中添加缺少的庫,並在其他目錄中添加boost庫的路徑。 或者,要啟用自動鏈接(如果您將boost編譯為DLL),請在項目中的C ++選項中的預處理程序符號中定義BOOST_ALL_DYN_LINK。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM