코드를 컴파일할 때 경로 오류가 발생하는 원인은 무엇입니까?

코드를 컴파일할 때 경로 오류가 발생하는 원인은 무엇입니까?

ARM을 대상으로 하는 /opt 디렉터리에 사전 구축된 도구 체인이 있는 Debian 32비트 호스트 PC. 소스(f/w 이미지)에서 프로젝트를 빌드하려고 하는데 코드 컴파일 중에 오류가 발생합니다. 이 프로젝트는 자동으로 생성된 여러 makefile이 전체 시스템을 구성하는 하위 디렉터리에 반복적으로 위치하는 복잡한 구조를 가지고 있습니다. 컴파일 중에 발생한 일부 오류를 수정했는데 매번 새로운 오류가 나타납니다. 빌드는 특정 디렉터리(pppd)에서 중지됩니다.

make[3]: Entering directory '/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1'
make -C pppd
make[4]: Entering directory '/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd'
/opt/emlix/pnx8181/bin/arm-linux-gnueabi-gcc -O2 -pipe -Wall -g -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP -I../include '-DDESTDIR="/usr/local"' -DCHAPMS=1 -DMPPE=1 -DHAS_SHADOW -DHAVE_CRYPT_H=1 -DUSE_CRYPT=1 -DHAVE_MULTILINK -DUSE_TDB=1 -DPLUGIN -DMAXOCTETS -Wl,-E -o pppd main.o magic.o fsm.o lcp.o ipcp.o upap.o chap-new.o md5.o ccp.o ecp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o tty.o eap.o chap-md5.o md4.o chap_ms.o sha1.o pppcrypt.o multilink.o tdb.o spinlock.o  -lcrypt -ldl
main.o:(.data+0x18): undefined reference to `cbcp_protent'
auth.o: In function `network_phase':
auth.c:(.text+0x28bc): undefined reference to `cbcp_protent'
multilink.o: In function `iterate_bundle_links':
/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd/multilink.c:364: undefined reference to `pppdb'
multilink.o: In function `remove_bundle_link':
/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd/multilink.c:352: undefined reference to `pppdb'
multilink.o: In function `make_bundle_links':
/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd/multilink.c:308: undefined reference to `pppdb'
multilink.o: In function `mp_join_bundle':
/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd/multilink.c:209: undefined reference to `pppdb'
collect2: ld returned 1 exit status
Makefile:209: recipe for target 'pppd' failed
make[4]: *** [pppd] Error 1
make[4]: Leaving directory '/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd'
Makefile.cyt:18: recipe for target 'all' failed
make[3]: *** [all] Error 2
make[3]: Leaving directory '/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1'
/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/Rules.mk:74: recipe for target '_subdir_pppd' failed
make[2]: *** [_subdir_pppd] Error 2
make[2]: Leaving directory '/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source'
/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/Rules.mk:74: recipe for target '_subdir_open_source' failed
make[1]: *** [_subdir_open_source] Error 2
make[1]: Leaving directory '/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router'
Rules.mk:74: recipe for target '_subdir_router' failed
make: *** [_subdir_router] Error 2

정의되지 않은 참조가 표시되므로 일부 파일이 있지만 코드에 구문 오류가 없다고 확신합니다. 손상된 종속성 또는 경로로 인해 나타날 수 있습니다. 여기 이 경로는 나에게 잘못된 것 같습니다.-I../include '-DDESTDIR="/usr/local"'

make[4]: Entering directory '/home/viltek/test/payton_1.4.1.SR1_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd'
/opt/emlix/pnx8181/bin/arm-linux-gnueabi-gcc -O2 -pipe -Wall -g -DHAVE_PATHS_H -DIPX_CHANGE -DHAVE_MMAP -I../include '-DDESTDIR="/usr/local"' -DCHAPMS=1 -DMPPE=1 -DHAS_SHADOW -DHAVE_CRYPT_H=1 -DUSE_CRYPT=1 -DHAVE_MULTILINK -DUSE_TDB=1 -DPLUGIN -DMAXOCTETS -Wl,-E -o pppd main.o magic.o fsm.o lcp.o ipcp.o upap.o chap-new.o md5.o ccp.o ecp.o auth.o options.o demand.o utils.o sys-linux.o ipxcp.o tty.o eap.o chap-md5.o md4.o chap_ms.o sha1.o pppcrypt.o multilink.o tdb.o spinlock.o  -lcrypt -ldl

성공적인 빌드의 make.log와 비교했는데 다르게 보입니다.

make[4]: Entering directory `/home/jlai2/project/payton_gpl/src/fullimage/payton/src/test/payton_1.3.2.009_gpl/payton/src/router/open_source/pkgs/pppd-2.4.1/pppd'
/opt/emlix/pnx8181/bin/arm-linux-gnueabi-gcc -O2 -pipe -Wall -D__linux__=1 -DHAVE_PATHS_H  -DHAVE_MMAP -I../include -I/home/jlai2/project/payton_gpl/src/fullimage/payton/src/test/payton_1.3.2.009_gpl/payton/src/router/open_source/include  -DCHAPMS=1 -DMPPE=1 -DHAVE_CRYPT_H=1 -DUSE_CRYPT=1 -DPLUGIN -DCBCP_SUPPORT   -c -o main.o main.c
main.c: In function '_run_script':
main.c:1228: warning: unused variable 'i'
main.c:1227: warning: unused variable 'buf'

나중에 전체 경로가 포함되지 않는 이유는 무엇입니까?-I../포함?

관련 정보