我正在尝试在带有 GCC 4.73 的 Ubuntu 13.04 上使用 CMake 编译 Boost ASIO 示例。
使用以下 CMake 文件:
cmake_minimum_required(VERSION 2.8)
ADD_DEFINITIONS(-std=c++11)
project(server)
find_package( Boost 1.53.0 REQUIRED system)
INCLUDE_DIRECTORIES( ${Boost_INCLUDE_DIR} )
add_executable( server server.cpp )
target_link_libraries(server ${Boost_LIBRARIES} )
add_executable( client client.cpp )
target_link_libraries(client ${Boost_LIBRARIES})
该项目应该使用 C++11 并且独立于平台。使用 CMakefile 编译时,我得到类似
undefined reference to `pthread_join'
我的同事可以毫无问题地编译完全相同的 Makefile。
问题:有什么方法可以强制 CMake 或 Boost 不使用 PThreads 而是使用 C++11 线程来保持平台独立?
编辑:服务器编译没有问题,而只有客户端有问题。