2016-12-12 1 views
0

저는 VS12 프로젝트를 가지고 있고 부스트 - 파이썬을 사용하여 파이썬에 일부 클래스를 노출 시켰습니다. 몇 가지 연결 문제 후 내 프로젝트가 마침내 올바르게 빌드되어 MySDK.libMySDK.dll을 생성합니다. Boost Python 모듈을 라이브러리와 동일하게 (예 : BOOST_PYTHON_MODULE(MySDK)) 호출했습니다. 이것들은 .lib.dll 모두 파이썬에서 MySDK을 사용해야합니까?Boost-Python C++ 프로젝트 빌드, Python에서 새 라이브러리를 사용하는 방법?

Pycharm Community를 사용하고 있지만 생성 된 MySDK.libMySDK.dll을 Python 라이브러리 모듈로 가져 오는 방법을 찾을 수 없습니다.

부스트 파이썬 코딩 연습 후에해야 할 일에 대해 많은 정보가 없습니다.

+0

추가 : 따라서, 더 깨끗한 방법은 원래 $(OutDir)$(TargetName)$(TargetExt)dll 출력을 생성함에 따라 VS12 프로젝트를 떠나 단순히 사본이 dllpyd에있는 Post-Build Event을 추가하는 것입니다 비슷한 문제 : http://stackoverflow.com/questions/27842074/pycharm-does-not-find-extension-libraries PyCharm 밖에서도 작업 할 수 있습니까? – doctorlove

+0

사실 그것은 그보다 더 나쁩니다. lib 및 dll 위치를 Path 변수에 추가 한 후 파이썬 인터프리터를 실행하는 커맨드 라인에 가면 다음과 같은 결과를 얻습니다 :'ImportError : MySDK라는 이름의 모듈이 없습니다' –

+0

PyCharm 내부에 있건 없습니까? – doctorlove

답변

1

내 VS12 프로젝트 출력 파일 확장명을 .pyd (Right Click on Project -> Properties -> Linker -> General -> Output File -> changed to $(OutDir)$(TargetName).pyd)으로 변경 했으므로 명령 줄에서 파이썬으로 라이브러리를로드 할 수 있지만 여전히 Pycharm에서는 라이브러리를로드 할 수 없습니다.

그런 다음 .pyd (.lib.dll과 함께)이 Path 변수 아래에있는 디렉터리를 만들었습니다. 그러면 Pycharm은 내 사용자 정의 부스트 - 파이썬 라이브러리를 성공적으로로드하고 실행할 수 있습니다.

UPDATE 파이썬 이해하고로드 할 수있는 PYD는 단순히 pyd로 이름을 바꾼 dll입니다.

(Right Click on Project -> Properties -> Configuration Properties -> Build Events -> Post-Build Event -> Command Line) 그리고이 질문은 제안 copy $(OutDir)$(TargetName)$(TargetExt) $(OutDir)$(TargetName).pyd

관련 문제