質問編集履歴

2

微修正

2017/12/15 02:37

投稿

Himatya1
Himatya1

スコア11

test CHANGED
@@ -1 +1 @@
1
- -Lオプションを付けるとライブラリのリンクができない
1
+ -Lオプションをパス付けるとライブラリのリンクができない
test CHANGED
@@ -64,4 +64,4 @@
64
64
 
65
65
 
66
66
 
67
- そこで、**`target_link_libraries`を使って`-L`でディレクトリ指定する**という条件を満たした上で、ライブラリをリンクするにはどうすればよいでしょうか?
67
+ そこで、**`target_link_libraries`を使って`-L`オプションを指定する**という条件を満たした上で、ライブラリをリンクするにはどうすればよいでしょうか?

1

質問内容を明確にしました。

2017/12/15 02:37

投稿

Himatya1
Himatya1

スコア11

test CHANGED
@@ -1 +1 @@
1
- ライブラリのディレクトパスを指定するとリンクできなくなる
1
+ -Lオプションを付けるとライブラリのリンクできな
test CHANGED
@@ -1,10 +1,28 @@
1
+ 現在、ProjucerとCLionを使って開発しています。
2
+
3
+
4
+
5
+ Projucerとは、ソースファイルを様々な環境でビルドできるようにIDE用のプロジェクトファイルを生成してくれるツールです。
6
+
7
+ また、必要なライブラリを指定すると、プロジェクトファイルにも設定されるようになります。
8
+
9
+ ProjucerでCLion用にプロジェクトファイルを生成すると、CMakeLists.txtが自動生成されます。
10
+
11
+
12
+
1
13
  ##問題
2
14
 
3
- 自作のスタティックライブラリを`target_link_libraries`を使ってリンクしようとしました。
15
+ 自作のスタティックライブラリをリンクしようとしたのですが、上手くいきせんでした。
4
16
 
5
- ライブラリの絶対パスで指定するとリンクできるのですが、
6
17
 
18
+
19
+ CMakeLists.txt中身をみると、`target_link_libraries(proj PRIVATE -L[追加したライブラリ...])`といった形式でライブラリが追加されていました。
20
+
21
+
22
+
23
+ そこで、ライブラリを使っている部分だけを切り出し、別プロジェクトで試したところ、
24
+
7
- `-L`使ってディレクトごとリンクしようとすると、できませんでした。
25
+ 絶対パス指定した場合のみリンクできました。
8
26
 
9
27
 
10
28
 
@@ -42,8 +60,8 @@
42
60
 
43
61
  ##質問
44
62
 
45
- CMakeList.txtが別IDEから自生成されるため、
63
+ Projucerで何度も設定を変更する可能性があるため、変更を適用するたびに自動生成されるCMakeLists.txtを手で編集すことは避けいです。
46
64
 
47
- `target_link_libraries`を使って`-L`でディレクトリ指定するという条件を満たした上で、
48
65
 
66
+
49
- ライブラリをリンクしたいです。
67
+ そこで、**`target_link_libraries`を使って`-L`でディレクトリ指定する**という条件を満たした上で、ライブラリをリンクするにはどうすればよいでしょうか?