現在、ProjucerとCLionを使って開発しています。
Projucerとは、ソースファイルを様々な環境でビルドできるようにIDE用のプロジェクトファイルを生成してくれるツールです。
また、必要なライブラリを指定すると、プロジェクトファイルにも設定されるようになります。
ProjucerでCLion用にプロジェクトファイルを生成すると、CMakeLists.txtが自動生成されます。
##問題
自作のスタティックライブラリをリンクしようとしたのですが、上手くいきませんでした。
CMakeLists.txt中身をみると、target_link_libraries(proj PRIVATE -L[追加したライブラリ...])
といった形式でライブラリが追加されていました。
そこで、ライブラリを使っている部分だけを切り出し、別プロジェクトで試したところ、
絶対パスを指定した場合のみリンクができました。
CMake
1#/lib/lib.aをリンクしたい(/libの中身はlib.aのみ) 2#これはリンクできる 3target_link_libraries(proj PRIVATE "/lib/lib.a") 4#ディレクトリパスだとリンクができない 5target_link_libraries(proj PRIVATE "-L/lib")
スタティックライブラリのCMakeは以下の通りです。
CMake
1cmake_minimum_required(VERSION 3.9) 2project(libproj) 3set(CMAKE_CXX_STANDARD 14) 4add_library(libproj STATIC lib.cpp)
##質問
Projucerで何度も設定を変更する可能性があるため、変更を適用するたびに自動生成されるCMakeLists.txtを手動で編集することは避けたいです。
そこで、target_link_libraries
を使って-L
オプションを指定するという条件を満たした上で、ライブラリをリンクするにはどうすればよいでしょうか?
回答1件
あなたの回答
tips
プレビュー