das weiß ich schon hat ein akzeptiert, aber ich habe das Gefühl, dass ich einen Rat zu bieten habe. Zum einen sollten Sie ein Makefile für C++ verwenden, das ist das, das ich für die Beantwortung von SO verwende. Jetzt
CFLAGS=-std=c++11
CFLAGS+=-stdlib=libc++
CC=clang++
#flags for test.c
cc=clang
DEBUG=-g
#warnings
WARNINGS=-Weverything
#always have -Weverything on for SO lol
OPT= -O0 -O1 -O2 -O3 -O4
test: test.cpp
$(info set CC for compiler)
$(CC) $(CFLAGS) $< -o [email protected] $(DEBUG)
stack: stack.cpp
$(CC) $(CFLAGS) stack.cpp -o [email protected] $(DEBUG) $(WARNINGS)
testc: test.c
$(cc) $< -o [email protected] $(DEBUG)
clean:
rm test
, wenn ich herunterladen someones crappy Code aus SO habe ich eine Make-Datei für C und C++ Dateien, in denen ich einfach die Fahnen ändern kann, wenn ich will.
Wie für Bash Alias würde ich vorschlagen, Sie Alias es so wie alias clang++11='clang++ -std=c++11
auf diese Weise überschreiben Sie nicht die clang++
, wenn Sie nicht wollen, dass die C++ 11 Standard. Schließlich können Sie die Zeile, die ich Ihnen gerade gezeigt habe, zu Ihrem .bash_profile
auf einem Mac hinzufügen, der sich in Ihrem Heim- oder ~
-Ordner befindet. Dadurch wird die Änderung dauerhaft. Sobald Sie es ändern, führen Sie source .bash_profile
aus, um die Änderungen in Kraft zu setzen. Unter Linux glaube ich, dass die Datei .bashrc
heißt. Hoffentlich werden diese Tipps Ihnen helfen, wenn Sie in der Lage sind, die Mac-Befehlszeile zu lernen, hat Unterschiede von der Linux-Version, kann es sehr nützlich sein, einige der Dinge zu wissen, die es tun kann.
'alias g ++ = 'g ++ -std = C++ 11''? –
Eine andere Lösung wäre, GCC zu patchen, so dass es einige frischere/sinnvollere Optionen enthält, als standardmäßig auf einen 15 Jahre alten Standard zu setzen ... –
patchen? Sonst funktioniert der Alias gut, danke. – Choubidou