[c++] Makefile에서 여러 포함 경로를 정의하는 방법

C ++ 입문; 포함, 라이브러리 및 컴파일 프로세스에 대한 기본 이해. 아직 몇 가지 간단한 메이크 파일을 만들었습니다.

내 현재 프로젝트는 informix DB API 사용과 관련이 있으며 둘 이상의 비표준 디렉토리에 헤더 파일을 포함해야합니다. 작성하는 방법? Havent는 인터넷에서 아무것도 찾았습니다. 아마도 내가 좋은 검색어를 사용하지 않았기 때문일 것입니다.

이것은 내가 시도한 (작동하지 않는) 한 가지 방법입니다. 메이크 파일을 보여주기 위해

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



답변

모든 디렉토리 앞에 다음을 추가해야합니다 -I.

INC=-I/usr/informix/incl/c++ -I/opt/informix/incl/public


답변

-I각 디렉토리와 함께 사용해야 합니다. 그러나 (GNU) make ‘s를 사용하면 여전히 공백으로 디렉토리를 구분할 수 있습니다 foreach.

INC=$(DIR1) $(DIR2) ...
INC_PARAMS=$(foreach d, $(INC), -I$d)


답변