teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

微修正

2017/12/15 04:24

投稿

Chironian
Chironian

スコア23274

answer CHANGED
@@ -1,12 +1,12 @@
1
1
  こんにちは。
2
2
 
3
3
  CMakeの[target_link_libraries](https://cmake.org/cmake/help/v3.10/command/target_link_libraries.html)の`A link flag`を見ると、`-`で始まるitemはリンカ用のフラグとして取り扱うようですね。
4
+ CLionを使ったことはないのですが、これは gcc に対応しているようですね。
4
5
 
5
- CLionを使ったことはないのですが、これは gcc に対応しているようですね。
6
6
  さて、gccの`-L`オプションは指定したライブラリを探すフォルダを指定します。
7
7
  そして、実際にリンクするライブラリを`-l`オプションで指定します。
8
8
  この後者の指定がないとリンクされません。
9
9
 
10
10
  やったことはないですが、特定のフォルダ配下のライブラリを全てリンクしたい場合は、CMakeのfileコマンドの [GLOB ](https://qiita.com/mrk_21/items/5e7ca775b463a4141a58#globglob_recurse) を使えばリンクするライブラリのリストを生成できますので、それをtarget_link_librariesに渡すことで可能とは思います。
11
11
 
12
- これを Projucer 経由でできるのか?は分かりませんが、CMakeのfindコマンドを呼ばせることが可能なら、恐らくできると思います。(findコマンド用のCMakeスクリプトを作って、その中でfileでリストするイメージです。多くのfindコマンド用のCMakeスクリプトは何らかの方法でリンクするライブラリのリストを出力していますし。)
12
+ これを Projucer 経由でできるのか?は分かりませんが、CMakeのfind_packageコマンドを呼ばせることが可能なら、恐らくできると思います。(findコマンド用のCMakeスクリプトを作って、その中でfileでリストするイメージです。多くのfind_packageコマンド用のCMakeスクリプトは何らかの方法でリンクするライブラリのリストを出力していますし。)