문제점에 대한 해결책을 찾고 단서를 찾았지만 일관된 해결책을 찾지 못했습니다. 동적 라이브러리 (libdyna.so) 코드가 있습니다.), 3 statics 라이브러리 (libone.a, libtwo.a, libthree.a) 및 log4cpp 라이브러리의 기능을 사용합니다. 그리고 처음에는 모든 것이 잘 보였을 때 libdyna.so를 만들 수 있었지만 래퍼 (jni 래퍼가 잘 작동 함)를 사용하여 Java 테스트 프로그램에서 테스트했을 때 많은 정의되지 않은 참조가있었습니다. 동적 라이브러리 정적 라이브러리를 사용합니다. 정의되지 않은 심볼이 나타납니다.
는 다음 나는 메이크 파일에 "-z의 인증 된 정의"플래그를 넣어 정의되지 않은 참조가 많이 나타나고 내가 다시 동적 라이브러리를 컴파일 할 수 있습니다.나는 세 가지 정적 라이브러리와 함께 '나노'명령을했습니다 그리고 내가 제대로 다이나 lib에 사용하는 모든 기능을 보냅니다. 그러나 3 개의 정적 라이브러리를 포함하는 'libdyna.so'를 nm으로 만들었을 때 정의되지 않은 기호 (함수)가 발견되었습니다.
은 내가 동적 하나를 만들어 할 때 솔루션은 링커에 몇 가지 플래그를 추가하는 식으로 뭔가를해야한다고 생각하지만, 난 정말 모르겠어요. 누구나 나를 도울 수 있습니까, 아니면 저에게 몇 가지 아이디어를 말해 줄 수 있습니까?. 일부 코드가 필요한 경우 알려 주시면 여기에 붙여 드리겠습니다. 고마워요.
P/d를 내 나쁜 영어 죄송합니다. 당신은이 모든 정적 라이브러리를 포함합니다 링커 옵션 --whole-archive
을 사용할 수있는 라이브러리가 매우 큰이 될 수 있지만 아마도, 문제를 해결할 수
오 마이 갓. 나는 당신을 믿을 수 없다 미해결 된 상징의 이름을 포함하지 않았다! 그것들을 추가 할 순간을 찾아 주시겠습니까? 기호를 알고있는 경우 가장 자주 이것은 3 초 응답입니다. – sehe
정적 라이브러리를 추가하려고 했습니까? Sth는 -l/path/libtwo.a와 비슷하게 다른 두 개는 ... –