Closed7
競プロでclangdを使いたい
- 競プロ用途
- VSCode
- コンパイラはGCCだが、要はbits/stdc++.hを使いたい
- コードを書くファイルがころころ変わる(ただし同じフォルダの同じ階層)
compile_flags.txtを書くと使えるが、これだと当然ながらclangを使うので、bits/stdc++.hを使えない。GCCの標準ライブラリを認識させる方法はそもそもあるのか?
追記: これは認識が間違っている
これを参考に、.clangdのCompileFlags -> Addにgcc -v -c -xc++ nul
で表示されたinclude Pathを追加したが、動かない。本来はこれで動くはずだが...
1時間ほど格闘した末、CompileFlags -> Addに--target=x86_64-w64-windows-gnu
を追加したら動作するようになった。ようわからんけど動いているからヨシ!
これを読んでいて、このような記述をしている人がいたので試しにやってみたもの。
完成品
.clangd
If:
PathMatch: .*
CompileFlags:
Add:
- --target=x86_64-w64-windows-gnu
- -isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include/c++/13.2.0
- -isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include/c++/13.2.0/x86_64-w64-mingw32
- -isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include/c++/13.2.0/backward
- -isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/include
- -isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include
- -isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/include-fixed
- -I./ac-library/
- -std=gnu++20
しばらくこの状態で運用して、困ったらいろいろ書いていくかも。今日はこれでおわり
これは格闘しながらTwitterに放流していた鳴き声のツリーだが、ここに書いた以上の情報はあまりない。
.clangdで凝ったことをしていないので、compile_flags.txtにCompileFlags -> Addの部分を書き込むだけで事足りそう。
compile_flags.txt
--target=x86_64-w64-windows-gnu
-isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include/c++/13.2.0
-isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include/c++/13.2.0/x86_64-w64-mingw32
-isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include/c++/13.2.0/backward
-isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/include
-isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../include
-isystemH:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/include-fixed
-I./ac-library/
-std=gnu++20
このスクラップは2024/05/10にクローズされました