2016-08-09 15 views
1

多分愚かな質問ですが、-lmysqlcppconn -lreadlineと-lpthreadが必要なプログラムがあります。Cmake import -lpthreadとその他

私は私の解決用にMakefileを生成するためにcmakeのを使用しています:

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++1y -lmysqlcppconn -lreadline -lpthread") 
...(other command most likely irrelevant) 

add_executable(name ${SOURCES} ${CMAKE_CXX_FLAG}) 

を私はメイクファイルを実行すると、私は次の警告を受けた:

clang: warning: -lmysqlcppconn: 'linker' input unused 
clang: warning: -lreadline: 'linker' input unused 
clang: warning: -lpthread: 'linker' input unused 

は、より良い方法が存在しますそれをするために?

答えて

2

CMAKE_CXX_FLAGSはコンパイラフラグ用です(CMake生成のmakeファイルのコンパイルとリンクは別の手順です)。より良い方法ライブラリに糸を通すためにあなたが

target_link_libraries(name mysqlcppconn) 
target_link_libraries(name readline) 
target_link_libraries(name pthread) 

ようなものが必要にリンクするにはthis answerで説明したプロセスに従うことです

CMakeLists.txtで
+0

CMakeのエラー:15(target_link_libraries):ターゲットのリンクライブラリを指定することはできません 」このプロジェクトは によって構築されていない "eyeTyou"です。私は前にそれを試しましたが、私はこのライブラリをリンクすることを知らないのです – warwcat

+0

申し訳ありません、私のターゲットtarget_link_libraries(...)add_executable(...) – warwcat

関連する問題