gpt4 book ai didi

python - 为 Python 3.5 构建 Fortran 扩展或为 2.7 构建 C 扩展

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:45:27 30 4
gpt4 key购买 nike

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

我想将另一个项目合并到我自己的项目 (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 的 Python 2.7 的 Visual C++ 编译器,但我还没有让它在 CMake 构建系统中工作。我将它指向 VC for Python 文件夹中的 cl.exe 编译器,CMake 总是告诉我构建一个简单的测试程序失败。因为我实际上没有(也找不到)Visual Studio 2008,所以不确定我能走多远。

这里有很多地方可能会出现问题,但我只是在寻找可行/不可行的答案(如果确实如此)。任何解决方案显然都会受到欢迎。

我运行的是 Windows 10 64 位系统。

我不是 C/C++ 专家,但似乎我拥有使用 VC for Python 工具(cl、链接等)编译 Netgen 所需的所有工具。我只是不知道/不确定如何将它们整合到一个项目或类似的东西中。

最佳答案

我使用 VC 14.0 从 Python 2.7 的源代码构建了 Boost.Python 库 1.61.0。然后在 Netgen 的构建过程中使用它们(再次使用 VC 14.0)并指向 Python 2.7 库和包含目录(与 Python 3.5 相对)。到目前为止,这在 Python 2.7 中与我现有的代码一起工作。

关于python - 为 Python 3.5 构建 Fortran 扩展或为 2.7 构建 C 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39694646/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com