cmake 编译boost库遇到的坑

错误:

CMakeFiles/main.dir/main.cpp.o: In function `boost::asio::detail::posix_event::posix_event()':

/usr/local/include/boost/asio/detail/impl/posix_event.ipp:42: undefined reference to `pthread_condattr_setclock'
CMakeFiles/main.dir/main.cpp.o: In function `boost::asio::detail::posix_thread::~posix_thread()':
/usr/local/include/boost/asio/detail/impl/posix_thread.ipp:35: undefined reference to `pthread_detach'
CMakeFiles/main.dir/main.cpp.o: In function `boost::asio::detail::posix_thread::join()':
/usr/local/include/boost/asio/detail/impl/posix_thread.ipp:42: undefined reference to `pthread_join'
collect2: error: ld returned 1 exit status
src/CMakeFiles/main.dir/build.make:84: recipe for target '../bin/main' failed
make[2]: *** [../bin/main] Error 1
CMakeFiles/Makefile2:177: recipe for target 'src/CMakeFiles/main.dir/all' failed
make[1]: *** [src/CMakeFiles/main.dir/all] Error 2

Makefile:83: recipe for target 'all' failed


需要在CMakeLists.txt 中添加   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-pthread")   



cmake 版本 要与boost库版本匹配,如果cmake 版本太低,则编译会有错误


你可能感兴趣的:(C++)