Mac OSX Mountain Lionでhttp://hpc.sourceforge.netの gcc 4.8.1 を使用しています。to_string
の関数を使用する C++ プログラムをコンパイルしようとしています<string>
。-std=c++11
毎回フラグを使用する必要があります:
g++ -std=c++11 -o testcode1 code1.cpp
デフォルトでこのフラグを含める方法はありますか?
Mac OSX Mountain Lionでhttp://hpc.sourceforge.netの gcc 4.8.1 を使用しています。to_string
の関数を使用する C++ プログラムをコンパイルしようとしています<string>
。-std=c++11
毎回フラグを使用する必要があります:
g++ -std=c++11 -o testcode1 code1.cpp
デフォルトでこのフラグを含める方法はありますか?
H2CO3 は正しいです。-std=c++11 で設定された CXXFLAGS でメイクファイルを使用できます。メイクファイルは、プログラムのコンパイル方法に関する指示を含む単純なテキスト ファイルです。Makefile (大文字の M) という名前の新しいファイルを作成します。コードを自動的にコンパイルするには、端末でmakeコマンドを入力するだけです。make をインストールする必要がある場合があります。
ここに簡単なものがあります:
CXX=clang++
CXXFLAGS=-g -std=c++11 -Wall -pedantic
BIN=prog
SRC=$(wildcard *.cpp)
OBJ=$(SRC:%.cpp=%.o)
all: $(OBJ)
$(CXX) -o $(BIN) $^
%.o: %.c
$(CXX) $@ -c $<
clean:
rm -f *.o
rm $(BIN)
すべての .cpp ファイルが makefile と同じディレクトリにあると想定しています。ただし、メイクファイルを簡単に調整して、src、include、およびビルド ディレクトリをサポートすることができます。
編集: デフォルトの C++ コンパイラを変更しました。私のバージョンの g++ は最新ではありません。clang++ では、この makefile は正常に動作します。
specsファイルを使用してそれを行うことができると思います。
MinGW では、 gcc -dumpspecs > specを実行できます
それが言うところ
*cpp:
%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT}
あなたはそれをに変更します
*cpp:
%{posix:-D_POSIX_SOURCE} %{mthreads:-D_MT} -std=c++11
そして、それを
/mingw/lib/gcc/mingw32/<version>/specsに配置します
MinGW ビルドがなくても同じことができると確信しています。ただし、specs ファイルをどこに配置すればよいかわかりません。
フォルダーは、おそらく /gcc/lib/ または /gcc/ のいずれかです。