2009-03-18 3 views
8

Python이 포함 된 C++ 응용 프로그램이 있습니다. Visual Studio 2005를 사용하여 빌드하고 있습니다. python26.lib에 연결하려고하면 "__imp"로 시작하는 여러 개의 확인되지 않은 기호가 나타납니다.Visual Studio 2005의 Python 가져 오기 라이브러리에 연결

오류 LNK2019 : 해결되지 않은 외부 기호 __imp__Py_Initialize가 함수에서 참조되었습니다. _main

python26.lib는 (Python 2.6 설치 프로그램에서 설치 한) 가져 오기 라이브러리입니다. 이 기호를 해결하려면 무엇을해야합니까? 그것들은 임포트 라이브러리에 존재합니다 (dumpbin/all은 그것들을 보여줍니다). 감사.

답변

10

마치 64 비트 Python 라이브러리를 32 비트 응용 프로그램에 연결하려고 한 것처럼 보입니다. 링커가 "해결되지 않은 심볼"이 아닌 다른 것을 말해 주었으면합니다. 32 비트 라이브러리에 링크하면 문제가 해결됩니다.

2

참조 용으로 C:\WINDOWS\system32\python26.dll을 포함 시키십시오. python26.lib에는 주 DLL의 기호 이름이 들어 있습니다.

+1

나는 당신이 dll에 직접적으로 연결되어 있다고 생각하지 않았지만, 해당 .lib에 직접 연결한다고 생각했다. python26.dll에 직접 연결하려고하면 링커 오류가 발생합니다 (LNK1107 : 파일이 잘못되었거나 손상되었습니다). MSDN에 따르면 .obj 대신 링커에 DLL을 전달하면이 오류가 발생할 수 있습니다. – user76293