標準ライブラリを切り替えるために特定の基本機能が追加されるまで、現時点で CMake でこれを行う「適切な」方法は、ツールチェーン ファイルを使用することです。
そのツールチェーン ファイルでは、ここの他の回答と同様にコンパイラなどを指定します。
しかし、ツールチェーンの優れている点は、コマンドライン (-DCMAKE_TOOLCHAIN_FILE=path/to/file を使用) または CMakeTools 拡張機能がインストールされた VSCode ですばやく交換できることです。おそらく他のエディターでも交換できます。
しかし、独自のツールチェーン ファイルを手作業でコーディングしなければならないことは、もう 1 つの目立たない雑用です。面白くない!
幸いなことに、これらのスイートを管理しているこの github を見つけたので、最初から作成する必要はありません。間違える可能性はずっと低いはずです。
https://github.com/ruslo/polly
コンパイラを clang++ に設定することを忘れないでください:
set(CMAKE_CXX_COMPILER "clang++")
また、cmake で生成されたファイルを削除します (フォルダー CMakeFiles
を削除します)。 と CMakeCache.txt
).
システムによっては、設定も役立つ場合があります
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -stdlib=libc++ -lc++abi")