[解決済み] CMakeにソースディレクトリにある静的ライブラリをリンクするように指示するにはどうすればよいですか?
2022-03-16 09:07:03
質問
私はMakefileを持つ小さなプロジェクトを持っていて、主にCMakeの経験を積むためにCMakeに変換しようとしています。この例のために、プロジェクトにはソースファイル(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 (Kubuntu 12.04) と GCC 4.6.3 上での CMake 2.8.7
解決方法は?
CMake はライブラリをリンクするためにフルパスを渡すことを好むので、libbingitup.a が以下の場所にあると仮定します。
${CMAKE_SOURCE_DIR}
を実行すると成功するはずです。
add_executable(main main.cpp)
target_link_libraries(main ${CMAKE_SOURCE_DIR}/libbingitup.a)
関連
-
[解決済み] configure --prefix=DIR && make all install ' と同等のCMakeは何ですか?
-
[解決済み】CMAKE_MODULE_PATHを指定する必要がある場合、find_package()はどのように使用するのでしょうか?
-
[解決済み] CMakeでソースファイルを指定する場合、GLOBで指定するのと、1ファイルずつ指定するのと、どちらが良いですか?
-
[解決済み] CMAKEで-fPICコンパイラーオプションを追加する慣用的な方法は何ですか?
-
[解決済み] CMakeでディレクトリを作成する
-
[解決済み] 外部ライブラリへのCMakeリンク
-
[解決済み] CMakeで警告レベルを設定するには?
-
[解決済み] CMAKE_CURRENT_SOURCE_DIRとCMAKE_CURRENT_LIST_DIRの相違点
-
[解決済み] CMakeを使用して、CTestから冗長出力を得るにはどうすればよいですか?
-
[解決済み] CMake target_link_libraries インターフェース依存性
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] CMakeにソースディレクトリにある静的ライブラリをリンクするように指示するにはどうすればよいですか?
-
[解決済み] CMakeの出力をクリアするための'cmake clean'コマンドを探しています。
-
[解決済み] configure --prefix=DIR && make all install ' と同等のCMakeは何ですか?
-
[解決済み】CMAKE_MODULE_PATHを指定する必要がある場合、find_package()はどのように使用するのでしょうか?
-
[解決済み] CMakeでソースファイルを指定する場合、GLOBで指定するのと、1ファイルずつ指定するのと、どちらが良いですか?
-
[解決済み] CMakeでディレクトリを作成する
-
[解決済み] CMAKEがエラーを発生させる原因
-
[解決済み] CMakeで警告レベルを設定するには?
-
[解決済み] CMAKE_CURRENT_SOURCE_DIRとCMAKE_CURRENT_LIST_DIRの相違点
-
[解決済み] CMakeを使用して、CTestから冗長出力を得るにはどうすればよいですか?