저는 Apache httpd에 의존하는 프로젝트를 만들려고합니다. 불행하게도 프로젝트가 httpd (다른 버전의)에 대한 헤더를 $(project)/common/includes
에 제공하는 동안 httpd 소스가/usr/includes에 있고 필요합니다. gcc가/usr/includes 대신에 프로젝트의 디렉토리에서 헤더를 집어 내길 바래요.하지만 성공적 일지라도/usr/include의 다른 중요한 헤더를 놓칠 것 같습니다.GCC를 잘못 찾음이 포함되었습니다.
방법에 대한 아이디어가 있으십니까? 이 "조리법"나는군요 실행하는 동안
CFLAGS = -Wall -O3 -fPIC -fomit-frame-pointer -I vm -D_GNU_SOURCE -I libs/common -D_64BITS
EXTFLAGS = -pthread
MAKESO = $(CC) -shared #-WBsymbolic
# later ...
all: createbin libneko neko std compiler libs
neko: bin/neko
# later ...
bin/neko: $(VM_OBJECTS)
${CC} ${CFLAGS} ${EXTFLAGS} -o [email protected] ${VM_OBJECTS} ${NEKOVM_FLAGS}
strip bin/neko
어딘가에 :
편집 : 만들기 파일의 관련 부분은 다음과 같은 형태
In file included from /usr/include/httpd/httpd.h:43:0,
from mod_neko.h:20,
from mod_neko.c:17:
/usr/include/httpd/ap_config.h:25:17: fatal error: apr.h: No such file or directory
을하지만 필요는 없습니다 사용할 수있는 /usr/include/httpd/httpd.h <project> /libs/include/apache2/httpd.h
'CFLAGS = -I/common/includes'? –
nneonneo
(헤더가 컴파일러 용으로 엄격하게 사용되며, 링커는이 헤더 파일을 사용하지 않습니다.) – nneonneo
CFLAGS가 Makefile에서 대체되고 있는지 여부, Makefile을 일반적으로 사용하는지, 재정의하는지 여부에 따라 달라질 수 있습니다 , 그들은 쉘 - 세트 CFLAGS를 명예롭게하고 어떤 순서로 지시합니까? 정확하게 지적하기 위해서는 더 많은 정보가 필요합니다. – favoretti