回答編集履歴

3

書き直し

2021/06/12 17:26

投稿

itagagaki
itagagaki

スコア8402

test CHANGED
@@ -1,6 +1,20 @@
1
- CMakeがコンパイラを検出するときにGCC5未満を検出ちゃっているだと思いますので、コンパイラ環境変数かオション引数で指定してあげると良と思いま
1
+ もしかしてコンパイラGCC5未満の状態でCMake実行たことがあって、そ後GCCアッデートして、またCMakeを実行したのではなか?
2
2
 
3
+
4
+
5
+ だとしたらbuildディレクトリにCMakeのキャッシュが残っているせいだと思いますので、buildディレクトリの中身を全部削除してから`cmake ..`を実行してください。
6
+
7
+
8
+
9
+ ---
10
+
11
+
12
+
13
+ それでもCMakeがコンパイラの検出を誤るようなら...ちゃんとGCC7が検出されるように設定する必要がありますね。この検出の仕組みは定かではありませんが、Unix Makefilesなら多分環境変数`PATH`の設定だけのような気もするので、見直してください。でもたぶんそれは問題ないのだと思いますが...
14
+
15
+
16
+
3
- Your Generatorのところは`Unix Makefiles`です
17
+ コンパイラを環境変数かオプション引数指定る手段もあります
4
18
 
5
19
 
6
20
 
@@ -8,4 +22,8 @@
8
22
 
9
23
 
10
24
 
11
- CMakeのキャッシュを削除するため、まずbuildディレクトリの中身は削除したほうが良いと思います。
25
+ Your Generatorのところは`Unix Makefiles`で
26
+
27
+
28
+
29
+ もしかしたら`CMAKE_CXX_COMPILER_VERSION`や`CMAKE_CXX_COMPILER_ID`も設定する必要があるかもしれません。

2

追記

2021/06/12 17:26

投稿

itagagaki
itagagaki

スコア8402

test CHANGED
@@ -5,3 +5,7 @@
5
5
 
6
6
 
7
7
  [How do I use a different compiler?](https://gitlab.kitware.com/cmake/community/-/wikis/FAQ#how-do-i-use-a-different-compiler)
8
+
9
+
10
+
11
+ CMakeのキャッシュを削除するため、まずbuildディレクトリの中身は削除したほうが良いと思います。

1

Generatorとコンパイラを混同していたので修正

2021/06/12 16:48

投稿

itagagaki
itagagaki

スコア8402

test CHANGED
@@ -1,10 +1,6 @@
1
- 参照されているサイトでは`cmake ..`実行するが案内されています
1
+ CMakeがコンパイラ検出するときにGCC5未満を検出しちゃっているのだと思いますので、コンパイラを環境変数かオプション引数で指定してあげると良いと思います
2
2
 
3
- この場合Generatorの指定を省略しているのでOSのデフォルトのGeneratorが選択されます。
4
-
5
- そのデフォルトがgcc5未満になっているんですね。
6
-
7
- Generatorを環境変数かオプション引数指定してあげると良いと思います。
3
+ Your Generatorのところは`Unix Makefiles`です
8
4
 
9
5
 
10
6