Linux에서 C++ 실행 파일을 작성합니다. 실행 파일은 일부 부스트 라이브러리에 링크됩니다.공유 라이브러리를로드하는 중 오류가 발생했습니다. libboost_system.so.1.45.0 : 공유 객체 파일을 열 수 없습니다. 해당 파일 또는 디렉토리가 없습니다.
[email protected]:~/work/dev/c++/projects/testfgci/dist/Debug/GNU-Linux-x86$ ./testfgci
./testfgci: error while loading shared libraries: libboost_system.so.1.45.0: cannot open shared object file: No such file or directory
내가 다음 종속성을 확인하기 위해 바이너리에 LDD를 실행합니다 :
[email protected]:~/work/dev/c++/projects/testfgci/dist/Debug/GNU-Linux-x86$ ldd testfgci
linux-gate.so.1 => (0x00380000)
libboost_system.so.1.45.0 => not found
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00b50000)
libm.so.6 => /lib/tls/i686/cmov/libm.so.6 (0x005f6000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0099a000)
libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0x001b3000)
libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0x00110000)
/lib/ld-linux.so.2 (0x00ea2000)
내가 왜 liboos_system.sl 확실하지 않다 내가 바이너리를 실행하려고 할 때
이
는 출력 .1.45.0 SO가 없습니다. 나는 그것을 오늘 조금 더 일찍 성공적으로 만들었습니다. 아무도 설명 할 수 있을까요?
구축 할 때, 추가 링커 라이브러리에 대한 컴파일러 플래그를 전달하는 것이 가능하지만, 프로그램을 실행하려고 할 때, 부스트 라이브러리 돈 '
이것은 나를 위해 일한 것입니다 링커 경로에 존재하지 않습니다. 라이브러리의 [링크 문제]의 가능한 복제본 (http://stackoverflow.com/questions/4568187/linking-problem-in-libraries) – birryree
답변을 찾았습니다. LD_LIBRARY_PATH에 경로를 추가하고 내 보내야했습니다. 바이너리는 실행되지만 오류를보고합니다 (오류 시스템 : 9 : 잘못된 파일 설명자).나는이 질문을 반영하여 그것을 반영해야하거나, 새로운 질문을 할 것입니다 – skyeagle