저는 JNI와 협력하고 있습니다. 두 개의 공유 라이브러리를 사용하는 래퍼 라이브러리 (wrapper.so)가 있습니다. one.so 및 two.so공유 라이브러리의 상대 경로
모두 제대로 작동합니다. 모든 * .so는 프로그램 폴더 안의 lib 폴더에 있습니다.
문제는,이 폴더를 다른 컴퓨터에 복사하면 연결 문제가 발생한다는 것입니다.
의 내가 기계 사용자 2 (/ 홈/사용자 2/프로그램)에서이 작업을 실행하고 나는 기계 USER1 (/ 홈/사용자 1/프로그램)에서 컴파일 가정 해 봅시다, 내가 연결 오류 얻을 :
않는 UnsatisfiedLinkError를 : 내가 좋아하는 (부모 프로그램 폴더에 대한 상대 라이브러리의 연결을 만들 수있는 방법 /home/user1/program/lib/one.so
, 내가 컴파일하고있어 this_foler ??/lib에
에 대한 검색과 같은 :
g++ -c -o src/wrapper.o src/wrapper.c
g++ -shared -o wrapper.so src/wrapper.o one.so two.so
@Rockskull 대답이 작동하는 경우이를 수락하거나 투표를하거나 두 가지 모두를 받아야합니다. 당신이하지 않으면 어떤 사람들은 당신의 질문에 대답하는 시간을 걱정하지 않을 것입니다. –
죄송합니다. 스택 오버플로가 처음입니다. 나는 그것을 받아 들일 수 있지만 투표 할 수는 없다. – lcguida
@EmployedRussian 인텔 컴파일러에 해당하는 명령을 알고 있습니까? 감사. – xslittlegrass