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 スレッドを使用して、プラットフォームに依存しないようにする方法はありますか?
編集: サーバーは問題なくコンパイルされますが、クライアントのみに問題があります。