2016-09-13 35 views
1

を変換する私はcmakeを使用してプログラムをコンパイルしようとしていますし、次のリンカエラーを見ています:未定義の参照:: path_traits ::

/home/quant/bin/boost_1_61_0/stage/lib/libboost_log_setup.so: undefined reference to boost::filesystem::path_traits::convert(wchar_t const*, wchar_t const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, std::codecvt<wchar_t, char, __mbstate_t> const&)' /home/quant/bin/boost_1_61_0/stage/lib/libboost_log.so: undefined reference to boost::filesystem::path_traits::dispatch(boost::filesystem::directory_entry const&, std::__cxx11::basic_string, std::allocator >&)'

リンカコマンドをninjaは、このようなルックスを生成していること:あなたが見ることができるように

g++ -pthread -DBOOST_ALL_DYN_LINK
utility/test/CMakeFiles/utilityTest.dir/loadCSVTests.cpp.o utility/test/CMakeFiles/utilityTest.dir/main.cpp.o utility/test/CMakeFiles/utilityTest.dir/randomDeviceTests.cpp.o -o utility/test/utilityTest -rdynamic /home/quant/bin/boost_1_61_0/stage/lib/libboost_thread.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_program_options.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_serialization.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_unit_test_framework.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_system.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_log.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_log_setup.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_filesystem.so utility/lib/libutilityLib.a utility/testLib/libutilityTestLib.a utility/lib/libutilityLib.a /home/quant/bin/boost_1_61_0/stage/lib/libboost_thread.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_program_options.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_serialization.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_unit_test_framework.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_system.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_log.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_log_setup.so /home/quant/bin/boost_1_61_0/stage/lib/libboost_filesystem.so -Wl,-rpath,/home/quant/bin/boost_1_61_0/stage/lib

、私はboost_filesystemboost_systemにリンクしていますので、this SO post(およびそれのような多くの他)で参照されるように同じ問題ではありません。

(自分のプログラムをコンパイルしているものと同じコンパイラ)でコンパイルしたboost 1.61を使用しています。

私は間違っていますか?

答えて