본문 바로가기

Python/Tip

python27_d.lib 오류

반응형

안녕하세요 오랜만에 포스팅을 하러 돌아왔네요! 몇 일전 시험이 끝나서 다시 포스팅을 시작하겠습니다.


오늘은 python embedding 에러와 관련 된 포스트입니다.


제가 직접 임베딩을 알려드리기보다 임베딩은 타사이트에 있기때문에 임베딩 도중 발생하는 에러에 대해 포스팅 하겠습니다!!

(혹시 몇몇 분들이 임베딩에 대해 포스팅을 원하시면... 작성해 볼게요..!)


임베딩이란? C에서 python 소스를 쓰기 위한 방법입니다.


"fatal error LNK1104: 'python27_d.lib' 파일을 열 수 없습니다."의 해결 방법입니다.

(※소소한 팁(?) : python.lib : 릴리즈 모드 라이브러리, python_d.lib : 디버그 모드 라이브러리)


※저는 python2.7버전을 쓰지만 타 버전은 27의 숫자를 바꿔야겠죠??


해결 방법이라기보다 디버그시에도 python27.lib를 이용 할 수 있게 바꿔주는 거에요!!



1. C:\Python27\include 폴더의 pyconfig.h, object.h 를 열어줍니다.

(저는 비주얼 스튜디오에 드래그 해서 열었습니다.)


2. object의

#if defined(Py_DEBUG) && !defined(Py_TRACE_REFS)

//#define Py_TRACE_REFS

#endif 

55 

56 주석

57


3. pyconfig.h

#ifdef _DEBUG

//# define Py_DEBUG

#endif

379 

380 주석

381  



4. pyconfig.h

# pragma comment(lib,"python27_d.lib")

# pragma comment(lib,"python27.lib")

line 338 변경 전 

line 338 변경 후

- 기존 위 소스를 아래 소스로 변경해줍니다!





- python을 임베딩 하려는 프로젝스 속성을 클릭해 줍니다!



 임베딩 중이시면 미리 해 놓았을 부분 이지만 혹여 Debug 혹은 Release 라이브러리 디렉토리추가 포함 디렉토리를 추가해주기 위해 모든 구성을 선택해 줍니다

[프로젝트 속성]

 - 구성 : 모든 구성

- VC++ 디렉터리 - 라이브러리 디렉터리

C:\Python27\libs

C:\Python27\Lib

항목 추가



[프로젝트 속성]

 - 구성 : 모든 구성

- C/C++ - 일반

C:\Python27\include

항목 추가




위 그림대로 진행 하시면 python27_d.lib문제를 해결 하실 수 있습니다!!


혹시 설명이 이해가 안되는 부분에 대해 말씀 해 주시면 곧바로 수정 하겠습니다.

출처 : https://github.com/Microsoft/caffe/issues/76(참고했습니다.)

모두 시간 아껴서 올 연 마무리 잘 하세요!

반응형

'Python > Tip' 카테고리의 다른 글

파이썬 대용량 csv 나누기  (0) 2018.01.04
window python console(콘솔) 숨기기  (0) 2017.11.29
[numpy]파이썬 numpy array index 찾기(numpy.where)  (0) 2016.11.22
파이썬 포맷팅  (0) 2016.11.16
anaconda 실행 에러  (2) 2016.11.10