gcc
とclang
のどちらかを選択し、libstdc++
とlibc++
の間で選択したいと考えています。 This siteは、コンパイラと標準ライブラリを混在させる方法を説明しています。コンパイラの中からCC=gcc CCX=g++ cmake...
やCC=clang...
のようにcmake
を呼び出すことができます。Cmake:C++ヘッダーの選択方法
問題はlibstdc++
で、-I/usr/include/c++/5
というフラグとの-I/usr/include/c++/v1
を使用する必要があります。
移植性の理由から、上記のパスはCMakeListst.txt
にも、コマンドライン引数としても含めないでください。これを行う方法はありますか?cmake
はそれを自動検出しますか?
はあなたがcmakeのを実行したとき、あなたはコンパイラ(gccを/打ち鳴らす)とC++標準ライブラリ(のlibstdC++/libcのを++)を選択します意味するかです。だから、 'if(clang)... else if(gcc)'のようなcamkeスクリプトが必要ですか? – hyun
@ CodeDreamer、私は質問を編集しました。 – robert