在 ubuntu 14.04 上使用 boost 进行编译:对 `boost::thread::get_id() const' 的未定义引用

compile with boost on ubuntu 14.04 : undefined reference to `boost::thread::get_id() const'

我正在尝试编译一个简单的 boost 程序,该程序在 ubuntu 14.04(使用 boost 1.54)上使用线程。

编译后的输出是这样的:

09:30:25 **** Incremental Build of configuration Debug for project sdkTest ****
make all 
Building target: sdkTest
Invoking: GCC C++ Linker
g++ -L"/home/khan/git/sdkLinux/libFingiSdk/Debug" -o "sdkTest"  ./src/CommunicationCoreTest.o ./src/CoreTest.o ./src/LoggerTest.o ./src/ProgramOptions.o ./src/sdkTest.o   -lfingidevicesdk -lz -lssl -lcurl -lpthread -lboost_system -lboost_regex -lboost_signals -lboost_thread -lboost_chrono -lboost_program_options -lboost_filesystem -lboost_iostreams -lboost_unit_test_framework -lpython2.7 -lboost_python
/home/khan/git/sdkLinux/libFingiSdk/Debug/libfingidevicesdk.so: undefined reference to `boost::thread::get_id() const'
/home/khan/git/sdkLinux/libFingiSdk/Debug/libfingidevicesdk.so: undefined reference to `boost::filesystem3::detail::status(boost::filesystem3::path const&, boost::system::error_code*)'
/home/khan/git/sdkLinux/libFingiSdk/Debug/libfingidevicesdk.so: undefined reference to `boost::thread::join()'
collect2: error: ld returned 1 exit status
make: *** [sdkTest] Error 1

09:30:25 Build Finished (took 413ms)

我已经使用

安装了 boost
sudo apt-get install libboost-all-dev

并且在编译中我添加了对 libboost_thread 、 pthread 等的引用。 (事实上​​这曾经在 ubuntu 12.10,boost 1.48 上编译得很好)。

知道这里有什么问题吗?

/home/khan/git/sdkLinux/libFingiSdk/Debug/libfingidevicesdk.so: undefined reference to `boost::thread::get_id() const'

您还需要 link libfingidevicesdk.so 使用 boost 线程库。