2014-04-03 3 views
2

attitude_adjustment를 기반으로 TP-Link WDR4300 용 사용자 정의 패키지를 작성 중입니다.
다른 패키지의 함수 (libnetfilter queue)를 패키지에 사용하고 있습니다.make 파일의 다른 패키지에 종속성을 정의하는 방법 ---- OpenWrt OS

편집이 완료됩니다. 그러나 연결 단계에서 크래시가 발생합니다. 분명히 링커는 이러한 참조를 찾을 수 없습니다.
패키지 디렉토리에서 사용할 수있는 Makefile에 "DEPENDS : = + libnetfilter_queue"를 정의했습니다. 여전히 크래시를 만드십시오.
종속성을 정의하는 방법이 명확하지 않습니다.
Makefile (src 디렉토리)에 필요한 수정 사항.

내 현재 Makefile (src 디렉토리)은 매우 간단합니다. 이 모양입니다.

CFLAGS = -Wall
OBJS = main.o를
모든 : smartAP
% .o 인 : %의 .c 인
$ (CC) $ (CFLAGS) -c -o $ $ <
smartAP @ : $ (OBJS)
$ (CC) -o $ @ $ (OBJS)
청소 :
RM -f smartAP * .o 인

나 다른 패키지에 대한 종속성을 포함하는 방법을 알려주세요, 그래서 그 빌드는 통과합니다.

yegorich의 솔루션이 내 빌드 문제를 해결했습니다. 그러나 이제 빌드가 누락되어 다시 빌드가 중단됩니다.
빌드 로그 :

설치 -d -m0755 /home/devnet/openwrt/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/smartAP/ipkg-ar71xx/smartAP/usr/sbin

설치 - m0755 /home/devnet/openwrt/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/smartAP/smartAP/home/devnet/openwrt/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/smartAP/ipkg-ar71xx/smartAP/ USR 경우/sbin/

/home/devnet/openwrt/attitude_adjustment/build_dir/target-mips_r2_uClibc-0.9.33.2/smartAP/ipkg-ar71xx/smartAP -name 'CVS'를 찾을 -o -name '을 .svn'-o -name '. # '-o -na 나 ' ~'| xargs를 -r RF RM은

패키지 smartAP는 다음 라이브러리에 대한 종속성이 없습니다 : 이미 패키지 메이크에 libnetfilter_queue에 대한 종속성을 언급 한

libnetfilter_queue.so.1.

include $(INCLUDE_DIR)/package.mk 

define Package/smartAP 
SECTION:=net 
CATEGORY:=Network 
DEPENDS:=+libnetfilter_queue 
TITLE:=Smart Wireless Access Point 
endef 

일부 종속성을 언급해야합니까?

답변

1

"DEPENDS:=+libnetfilter_queue"은 패키지 앞에 libnetfilter_queue을 빌드하도록 빌드 시스템에 알려줍니다. 소프트웨어의 Makefile에서 링커 플래그를 정의해야합니다. 같은 뭔가 :

LDFLAGS = -lnetfilter_queue 

는 메이크를 작성하고 libs와 연결하는 방법에 대한 자세한 내용은이 tutorial를 참조하십시오.

+0

이 솔루션은 내 문제를 해결했습니다. – devnet