So che questo già ha accettato ma sento di avere qualche consiglio da offrire. Per uno si dovrebbe usare un makefile per C++, questo è quello che uso per rispondere su SO.
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
Ora ogni volta che qualcuno scaricare codice di merda da così ho un makefile per i file C e C++, dove posso facilmente cambiare le bandiere se voglio.
Per quanto riguarda l'alias bash, suggerirei di creare alias in questo modo alias clang++11='clang++ -std=c++11
in questo modo non sovrascrivere lo clang++
se non si desidera utilizzare lo standard C++ 11. Infine puoi aggiungere la linea che ti ho appena mostrato sul tuo .bash_profile
su un mac che si trova nella tua casa o nella cartella ~
, questo renderà la modifica permanente. Una volta modificato, esegui source .bash_profile
per applicare le modifiche. Su Linux penso che il file si chiami .bashrc
. Speriamo che questi suggerimenti ti aiuteranno quando ur C++, ti consiglierei di imparare la linea di comando mac, ha differenze con linux, può essere molto utile sapere alcune delle cose che può fare.
'alias g ++ = 'g ++ -std = C++ 11''? –
Un'altra soluzione sarebbe l'applicazione di patch a GCC in modo che includesse alcune opzioni più fresche/più sensate rispetto all'impostazione predefinita per uno standard di 15 anni ... patching –
? Altrimenti, l'alias funziona bene, grazie. – Choubidou