我依賴于一個金融分析庫QuantLib生成自己庫QuantPlus,QuantLib和我自己的QuantPlus都依賴于boost庫,我用cmake生成了兩個一個libQuantLib.so和libQuantPlus.so都安裝在/usr/local/lib下面,然后用g++編譯測驗檔案的時候報對'boost::re_detail......'未定義的參考,等錯誤。
我的編譯命令是:g++ -o test test02.cpp -lQuantLib -lQuantPlus -I/usr/local/QuantPlus/QuantPlus
報錯是://usr/local/lib/libQuantPlus.so:對‘boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::verify_options(unsigned int, boost::regex_constants::_match_flags)’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::get_mem_block()’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::get_default_error_string(boost::regex_constants::error_type)’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::cpp_regex_traits_implementation<char>::transform_primary(char const*, char const*) const’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::put_mem_block(void*)’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::cpp_regex_traits_implementation<char>::transform(char const*, char const*) const’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::raise_runtime_error(std::runtime_error const&)’未定義的參考
//usr/local/lib/libQuantPlus.so:對‘boost::re_detail_107500::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)’未定義的參考
collect2: error: ld returned 1 exit status
uj5u.com熱心網友回復:
請大佬們幫忙看看,是我生成的libQuantPlus.so庫有問題還是在g++編譯的時候有問題轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/243416.html
標籤:C++ 語言
