즉, gcc(실제로는 ld)가 링크작업을 수행하면서 '라이브러리 목록'을 앞에서 뒤로 한번만 검색하기때문에 생기는 문제.
그런 경우를 위해서 ld 옵션에는
-Wl,--start-group {라이브러리 목록} -Wl,--end-group
이 마련되어 있다.(-Wl 대신 -Xlinker를 사용해도 된다)즉, 라이브러리 목록은 한번 더 검색해준다는 얘기.
그런데, 자동화 빌드 도구들(automake, autoconf, 등등)을 사용할때는 적용하기가 어렵다.
Makefile.am 작성할때 ld 옵션을 넣고 싶긴한데, 아무리 매뉴얼을 뒤져봐도 그런 옵션들을 넣을 방법이 안나온다.
즉, GNU의 그런 도구들은 '위치 의존적인 옵션'들에 대해서는 자동화도구에서 '이식성'문제로 지원하질 않는다.
비록 편법이긴하지만, 간단한 해결책은 "그냥 목록을 두번 작성하는 것"이다.
USER_LIBS=-lcommon -lutil -lmisc
였다면
USER_LIBS=-lcommon -lutil -lmisc -lcommon -lutil -lmisc
라고 두번쓰는것.
'$ SaVvY > » computer' 카테고리의 다른 글
Mac에서 Office 문서 사용하기. (0) | 2012.06.13 |
---|---|
IMS(IP Multimedia Subsystem) (1) | 2012.05.05 |
맥용 오피스 2011(영문버전)에서 '맑은고딕' 맛보기. (12) | 2012.03.17 |
YouTube Video/Audio를 퍼가기. (0) | 2012.02.17 |
Safari 기본검색엔진 추가하기 (0) | 2012.02.16 |