2011-01-13 5 views
0

파이썬 2.7에 익스텐션으로 공개하고자하는 C++ 0x로 작성된 코드가 있습니다.VC2010을 사용하여 파이썬 확장 컴파일

여러 C++ 0x 기능을 사용하기 때문에 C++ 03에서 다시 작성하지 않으려 고 VC2010을 사용해야합니다. 그러나 기본 Python 2.7 설치는 VC2008로 컴파일됩니다.

내가 VC2010를 사용하는의 distutils를 강제하는 방법을 설명합니다 this post을 발견하지만, 주석이이 msvcr90.dll (인터프리터에 의해 연결) 및 msvcr100.dll (확장자로 연결) 사이에 DLL 충돌을 초래할 것이라고 지적 .

파이썬을 다시 컴파일하지 않고 VC2010에서 확장을 컴파일하는 방법이 있습니까?

는 (나는 최근에 Windows에서 프로그래밍을 시작했습니다, 그래서 동적 링크가 어떻게 작동하는지에 대한 정확한 이해가없는)

답변

2

아니, 거기입니다.

이미 알고있는 것처럼 VS2010 툴셋으로 컴파일 할 때 msvcr100.dll과 연결됩니다. 파이썬은 msvcr90.dll과 연결되기 때문에, 같은 애플리케이션에서 이들을 혼합 할 때 불쾌한 놀라움을 얻을 수 있습니다.

지금 가장 좋은 옵션은 아마도 C++ 0x 기능 사용을 중지하고 VS2008 또는 mingw를 사용하여 확장 프로그램을 컴파일하는 것입니다.

배포하려는 의도가 아니며 주위에서만 재생하기위한 것이라면 VS2010을 사용하여 Python을 컴파일하는 것이 유일한 옵션입니다.

관련 문제