Troubleshoot library extension issues in Visial Studio 2010.

I compiled my boost libraries according to the manual found here and tried to use the boost file system library.

When I add #include <boost\filesystem\operations.hpp> , I get the following errors:

 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) 

If I compile without including .hpp operations, it works fine. The thing is, when I use #define BOOST_LIB_DIAGNOSTIC , it shows that it links correctly in boost libraries:

 Linking to lib file: libboost_filesystem-vc100-mt-gd-1_44.lib Linking to lib file: libboost_system-vc100-mt-gd-1_44.lib 
+4
source share
1 answer

In the project settings (in the linker options group) add the missing libraries depending on and add the path to expand the libraries in additional directories. Or, to enable automatic linking (if you compiled boost as a DLL), define BOOST_ALL_DYN_LINK in the preprocessor characters in the C ++ variants in the project.

+1
source

All Articles