wiem, że to już ma akceptację, ale czuję, że mam jakąś radę do zaoferowania. Dla jednego powinieneś używać makefile dla C++, to jest ten, którego używam do odpowiadania na 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
Teraz, kiedy mogę pobrać kod czyjąś brzydko z tak mam makefile dla C i C++ plików gdzie można łatwo zmienić flagi, jeśli chcę.
Jeśli chodzi o alias basha, sugerowałbym, abyś tak nazywał go tak, aby był alias clang++11='clang++ -std=c++11
w ten sposób, że nie zastąpisz clang++
, jeśli nie chcesz używać standardu C++ 11. Na koniec możesz dodać linię, którą właśnie pokazałem twojemu .bash_profile
na macu, który znajduje się w twoim katalogu domowym lub ~
, spowoduje to, że zmiana będzie trwała. Po zmianie uruchom source .bash_profile
, aby wprowadzić zmiany w życie. Na Linuksie myślę, że plik nazywa się .bashrc
. Mam nadzieję, że te wskazówki pomogą ci, gdy ur C++ ing, radziłbym nauczyć się wiersza poleceń mac, różni się od linuxa, może być bardzo przydatny znać niektóre z rzeczy, które może zrobić.
'alias g ++ = 'g ++ -std = C++ 11''? –
Innym rozwiązaniem byłoby załatanie GCC, aby zawierało trochę bardziej świeżych/rozsądniejszych opcji niż domyślne 15-letnie standardy ... –
łatanie? W przeciwnym razie alias działa poprawnie, dzięki. – Choubidou