2010-08-10 3 views
1

나는 파이썬에서 액세스해야하며이 목적으로 부스트 파이썬 라이브러리를 사용해야하는 C++ 클래스의 정의가 들어있는 간단한 .so 라이브러리를 만들었습니다. x64 우분투를 사용하여이 라이브러리를 테스트 할 때 파이썬을 실행하기 전에 libs를 증폭시키는 경로로 LD_LIBRARY_PATH를 설정하면 충분합니다. 그러나 x64 수세를 사용할 때는 작동하지 않습니다. 어쨌든 나는 LD_LIBRARY_PATH를 설정하고있다. 파이썬이 그것을 무시한 것처럼 보인다.부스트 파이썬 (수세 및 우분투)

수세에서 환경 변수를 설정하는 특별한 방법이 있습니까?

답변

0

LD_LIBRARY_PATH을 절대로 입력해야합니다 (herehere 참조). 먼저 Boost 라이브러리를 비표준 위치에 설치했다고 가정해야합니다. 그렇지 않으면 로더가 자동으로 찾을 것입니다. 시스템에 대한 루트 액세스 권한이있는 경우 라이브러리를 표준 위치 (예 : 패키지 관리자 또는 /usr/local/lib)에 설치하십시오.

루트 권한이 없으면 대신 실행 경로를 설정하십시오. gcc 링커를 사용하는 경우 -rpath 옵션을 전달하여이 작업을 수행하십시오. gcc 컴파일러는 -Wl을 통해 링커에 옵션을 전달할 수 있습니다. 컴파일러를 다음과 같이 호출하십시오.

g++ -Wall -Wextra -Wl,-rpath /path/to/boost -L /path/to/boost -lboost_python ... 
+0

위대한 팁 주셔서 감사합니다! – user416513