zeu*_*300 7 python boost mingw boost-python
我编写了一个混合 Python 3 和 C++ 的程序。我在 Windows 上使用 boost-python 1.62 和 mingw。到目前为止,我已经在许多机器上编译了 C++ python 库,并且它一直运行良好。现在我将源代码提供给一位同事在他的机器上安装,编译失败,mingw 抱怨符号问题和“文件格式无法识别”。
但是,我看到的是以下内容:在我的机器上,b2 在编译开始时报告了这一点:
在我同事的机器上,它看起来像这样:
我很确定问题与他的系统试图编译 32 位代码并试图将现有的 64 位代码链接到它有关。不过,问题是,为什么它首先要尝试编译 32 位代码?机器不到一年,所以肯定是64位的。然而,更重要的问题是,如何说服机器使用 64 位进行编译?
顺便说一下,这是我的 user-config.jam:
using python : 3.6 : C:\\StreamTest\\WinPython-64bit-3.6.6.2\\python-3.6.6.amd64\\python.exe
: C:\\StreamTest\\WinPython-64bit-3.6.6.2\\python-3.6.6.amd64\\include
: C:\\StreamTest\\WinPython-64bit-3.6.6.2\\python-3.6.6.amd64\\libs
: ;
Run Code Online (Sandbox Code Playgroud)
您的同事肯定正在编译为 32 位,您可以添加-m64强制mingw编译为 64 位的参数(假设您的同事有支持交叉兼容性的版本,即 mingw-w64)
我假设你的同事下载了http://www.mingw.org/但他/她需要:http://mingw-w64.org
来自 mingw.org:
“MinGW 是 GNU 编译器集合 (GCC) 的本机 Windows 端口,具有可自由分发的导入库和头文件,用于构建本机 Windows 应用程序;包括对 MSVC 运行时的扩展以支持 C99 功能。尽管(目前)仅提供 32-位编译器套件,MinGW 的所有软件都将在 64 位 Windows 平台上执行。”
来自 mingw-w64.org:
“Mingw-w64 是原始 mingw.org 项目的改进,旨在支持 Windows 系统上的 GCC 编译器。它于 2007 年对其进行了分叉,以提供对 64 位和新 API 的支持。从那时起,它就得到了广泛的使用和分配。”
| 归档时间: |
|
| 查看次数: |
150 次 |
| 最近记录: |