0
주 응용 프로그램과 두 개의 라이브러리 foo와 bar가 있습니다. foo는 일부 메소드에서 bar를 사용하며 LDADD에 지정되어 있습니다. 주 응용 프로그램은 foo를 사용하고 간접적으로 bar를 사용하므로 Makefile에 LDADD = foo가 있습니다.라이브러리에 한 번만 연결하십시오.
이 경우, 메인 애플리케이션의 LDADD에도 bar 라이브러리를 추가하지 않으면 컴파일 오류가 발생합니다.
정의되지 않은 참조; foo의 .so 파일에는 bar의 .so 파일이 필요합니다.
나는 이것을 이해하지 못한다. LDADD = bar로 (비 정적) foo를 컴파일하면 foo를 사용하는 응용 프로그램을 컴파일 할 때 다시 필요합니까?
가능한 중복 http://stackoverflow.com/questions/ : 라이브러리의 일환으로
bar
이 필요foo
때문에 즉, 11802727/libtool-doesnt-provide-library-dependencies-to-link). Ubuntu에서 libtool을 사용하고 있습니까? – ldav1s