主にCMakeの経験を積むために、CMakeに変換しようとしているMakefileを使用した小さなプロジェクトがあります。この例の目的のために、プロジェクトにはソースファイル(C ++、言語は特に関連性があるとは思いませんが)と他の場所からコピーした静的ライブラリファイルが含まれています。議論のために、ライブラリのソースコードが利用できないと仮定します。.aファイルと対応するヘッダーしかありません。
私の手作りのMakefileには、次のビルドルールが含まれています。
main: main.o libbingitup.a
g++ -o main main.o libbingitup.a
これは正常に動作します。これを再現するようにCMakeに指示するにはどうすればよいですか?もちろん、文字通りこの正確なmakefileではありませんが、同等のリンクコマンドを含むものです。私は明白ですが素朴な方法を試しました
add_executable(main main.cpp libbingitup.a)
または
add_executable(main main.cpp)
target_link_libraries(main libbingitup.a)
link_directories(.)
またはとさまざまなものadd_library(bingitup STATIC IMPORTED)
などこれまでのところ何も成功したリンクでの結果という。私は何をすべきですか?
バージョンの詳細:Linux上のCMake 2.8.7(Kubuntu 12.04)とGCC 4.6.3