http://www.boost.org/doc/libs/1_36_0/doc/html/boost_asio/tutorial/tuttimer1.htmlからブースト チュートリアルの例をコンパイルしようとしています。
私の CMakeLists.txt は次のようになります。
project(boost)
add_executable(timer1 timer1.cpp)
set_target_properties(timer1 PROPERTIES LINK_FLAGS -lboost_system,-lpthread)
cmake で全体をビルドしようとすると、次のようになります。
/var/www/C++/boost/build$ make
-- Configuring done
-- Generating done
-- Build files have been written to: /var/www/C++/boost/build
Scanning dependencies of target timer1
[100%] Building CXX object CMakeFiles/timer1.dir/timer1.cpp.o
Linking CXX executable timer1
/usr/bin/ld: cannot find -lboost_system,-lpthread
collect2: ld returned 1 exit status
make[2]: *** [timer1] Błąd 1
make[1]: *** [CMakeFiles/timer1.dir/all] Błąd 2
make: *** [all] Błąd 2
しかし、私が実行すると:
g++ timer1.cpp -lboost_system -lpthread -o timer1
手動で、すべて正常に動作します。誰かが私が間違っていることを指摘してもらえますか?
PS Turning on linker flags with CMakeで説明されているソリューションを使用しようとすると、次の行を cmake に追加します。
set(CMAKE_SHARED_LINKER_FLAGS "-lboost_system,-lpthread")
set(CMAKE_MODULE_LINKER_FLAGS "-lboost_system,-lpthread")
set(CMAKE_EXE_LINKER_FLAGS "-lboost_system,-lpthread")
上記と同じエラーが発生します。