2016-09-26 3 views
2

저는 확장 기능을 빌드하는 데 gfortran과 MinGW를 사용해온 Python 2.7 프로젝트가 있습니다. MSVC가 아니라면 Fortran 코드에서 쓰기 문과 할당 가능한 배열을 지원하는 것으로 보이는 MinGW를 사용합니다.Python 3.5 용 Fortran 확장 또는 2.7 용 C 확장

내 프로젝트 (Netgen)에 통합하고 싶은 프로젝트가 있지만 현재 Boost.Python을 사용하여 Python 3.5에 맞게 설정되어 있습니다. 처음에 내 자신의 프로그램을 Python 3.5로 전송하려했지만 MSVC 문제를 생각 나게하고 MinGW가 지원되지 않는 것 같습니다. 그런 이유로, 나는 Netgen + Boost.Python을 Python 2.7에서 배포하기 위해 컴파일하는 방법을 생각하려고 노력해 왔습니다.

부스트 부분이 간단하다고 생각하지만 파이썬 2.7과 통합하려면 Visual C++ 2008이 필요합니다. 필자는 Microsoft의 Python 2.7 용 Visual C++ 컴파일러를 가지고 있지만 CMake 빌드 시스템 내부에서는 작동하지 않습니다. 필자는 파이썬 폴더 용 VC의 cl.exe 컴파일러를 가리키며 CMake는 간단한 테스트 프로그램을 작성하는 데 실패한다고 항상 알려줍니다. Visual Studio 2008을 실제로 가지고 있지 않기 때문에 (어쨌든 얻을 수있는 방법은 확실하지 않습니다.)

여기에 문제가있을 수있는 곳이 많이 있지만 그저 이동/노 응답을 찾고 있습니다. 분명히 어떤 해결책이라도 환영받을 것입니다.

Windows 10 64 비트를 실행 중입니다.

저는 C/C++ 전문가는 아니지만, NetGen을 Python 도구 (cl, link 등) 용 VC를 사용하여 컴파일하는 데 필요한 모든 도구가있는 것 같습니다. 나는 그저 프로젝트 전체에 그것을 어떻게 넣을 지 모르겠다.

+0

더 관련성이 있고 추종자가 많은 태그를 선택하십시오. [tag : fortran]이 그들 중 하나입니다 –

답변

0

VC 14.0을 사용하여 Python 2.7 용 Boost.Python 라이브러리 1.61.0을 소스에서 빌드했습니다. 그런 다음 Netgen (다시 VC 14.0 사용)의 빌드 프로세스에서 사용하고 Python 2.7 라이브러리를 가리키고 디렉토리 (Python 3.5와 반대)를 포함합니다. 이것은 기존의 코드로 Python 2.7에서 작동했습니다.

+0

이것은 자신의 질문에 대한 설명이나 답변일까요? – Peaceful