Nowość w C ++; Podstawowe rozumienie dołączeń, bibliotek i procesu kompilacji. Zrobiłem już kilka prostych plików makefile.
Mój obecny projekt obejmuje korzystanie z informix DB API i muszę dołączyć pliki nagłówkowe w więcej niż jednym niestandardowym katalogu. Jak to napisać? Havent znalazł coś w sieci, prawdopodobnie dlatego, że nie użyłem dobrych wyszukiwanych haseł
To jeden ze sposobów, które próbowałem (nie działa). Tylko po to, żeby pokazać plik makefile
LIB=-L/usr/informix/lib/c++
INC=-I/usr/informix/incl/c++ /opt/informix/incl/public
default: main
main: test.cpp
gcc -Wall $(LIB) $(INC) -c test.cpp
#gcc -Wall $(LIB) $(INC) -I/opt/informix/incl/public -c test.cpp
clean:
rm -r test.o make.out
Musisz użyć
-I
z każdym katalogiem. Ale nadal możesz rozgraniczać katalogi białymi spacjami, jeśli używasz (GNU) makeforeach
:źródło
INC_PARAMS=$(INC:%=-I%)
z substytucjami .$(foreach,,)
jest bardziej czytelny, ale podstawienia są tak powszechnie używane, że i tak dobrze jest zapoznać się z ich działaniem.INC_PARAMS = $(addprefix -I,$(INC))
.