私はIntel C++ Compiler
,CMake
、およびstd::threads
をサポートする簡単なテストプロジェクトをコンパイルしようとしています。cmake、icc、pthreadsとリンクする(Linux)
私が行う場合:次に
icpc -std=c++11 -lpthread source/main.cpp
ビルドとプログラムの作業罰金。
しかしCMake
と、私はエラーを取得:
CMake Error at CMakeLists.txt:21 (TARGET_LINK_LIBRARIES):
Cannot specify link libraries for target "test" which is not built by
this project.
CMakeLists.txt
は次のとおりです。と呼ばれ、私はicc
(compilervars.sh
)とCMake
によって提供されるスクリプトによって設定された環境で構築しています
project(test)
set (CMAKE_CXX_FLAGS "-std=c++11")
set(SOURCE_LIST "source/main.cpp")
TARGET_LINK_LIBRARIES(${PROJECT_NAME} pthread)
add_executable (${PROJECT_NAME} ${SOURCE_LIST})
-DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc
オプション私はスレッドを使用していない場合に動作します。
CMake
の私の使用にはどのような問題がありますか?
ありがとうございます!
私はあなたが最初に持っていると思います実行可能ファイルを宣言し、リンクライブラリを設定します。そうでなければ、 'target_link_libraries'は実行可能ファイル(あなたの場合は' test')と苦情を知りません。 –