2016-09-26 124 views
2

我有一个Python 2.7项目,迄今为止一直使用gfortran和MinGW来构建扩展。我使用MinGW,因为它似乎支持Fortran代码中的写入语句和可分配数组,而MSVC则不支持。构建Python 3.5的扩展程序或C扩展的2.7

还有一个项目我想加入到我自己的(Netgen)中,但是它目前是使用Boost.Python为Python 3.5设置的。我首先尝试将我自己的程序转移到Python 3.5,但这是我提醒MSVC问题的地方,显然MinGW不受支持。出于这个原因,我一直在想办法编译Netgen + Boost.Python以便在Python 2.7中进行部署。

我认为Boost部分很简单,但似乎我需要Visual C++ 2008才能使它与Python 2.7集成。我有Microsoft的Visual C++编译器for Python 2.7,但我没有得到它在CMake构建系统中工作。我将它指向VC for Python文件夹中的cl.exe编译器,并且CMake总是告诉我构建一个简单的测试程序失败。因为我实际上并没有(也找不到)Visual Studio 2008,不知道我能得到多远。

有很多地方可能有问题,但我只是寻找一个去/不去的答案,如果这就是它。任何解决方案显然会受到欢迎。

我正在运行Windows 10 64位。我不是C/C++专家,但似乎我拥有使用Python for Python工具(cl,link等)编译Netgen所需的所有工具。我只是没有/不知道如何把它们放到一个项目或类似的东西中。

+0

尝试选择更相关且更多关注者的标签。 [标签: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