gpt4 book ai didi

python - 编译 boost 时的地址模型错误

转载 作者:行者123 更新时间:2023-12-03 14:42:08 24 4
gpt4 key购买 nike

我编写了一个混合 Python 3 和 C++ 的程序。我在 Windows 上使用 boost-python 1.62 和 mingw。到目前为止,我已经在很多很多机器上编译了 C++ python 库,它一直运行良好。现在我将源代码提供给了一位同事,以便在他的机器上安装,编译失败,mingw 提示符号问题和“无法识别文件格式”。
不过,我看到的是以下内容:在我的机器上,b2 在编译开始时报告了这一点:

  • 32 位:否(缓存)
  • 64 位:是(缓存)
  • ARM :否(缓存)
  • mips1:否(缓存)
  • 电源:无(缓存)
  • sparc : 否(缓存)
  • x86:是(缓存)
  • 支持的符号链接(symbolic link):是

  • 在我同事的机器上是这样的:
  • 32 位:是(缓存)
  • ARM :否(缓存)
  • mips1:否(缓存)
  • 电源:无(缓存)
  • sparc : 否(缓存)
  • x86:是(缓存)
  • 支持的符号链接(symbolic link):是

  • 我很确定问题与他的系统试图编译 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
    : ;

    最佳答案

    你的同事肯定是编译成 32 位的,你可以加上参数 -m64应该强制 mingw编译为 64 位(假设您的同事有一个支持交叉兼容性的版本,即 mingw-w64)
    我假设你的同事下载了 http://www.mingw.org/但他/她需要:http://mingw-w64.org
    来自 mingw.org:

    "MinGW is a native Windows port of the GNU Compiler Collection (GCC),with freely distributable import libraries and header files forbuilding native Windows applications; includes extensions to the MSVCruntime to support C99 functionality. Although (currently) offeringonly a 32-bit compiler suite, all of MinGW's software will execute onthe 64bit Windows platforms."


    来自 mingw-w64.org:

    "Mingw-w64 is an advancement of the original mingw.org project,created to support the GCC compiler on Windows systems. It has forkedit in 2007 in order to provide support for 64 bits and new APIs. Ithas since then gained widespread use and distribution. "

    关于python - 编译 boost 时的地址模型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62930695/

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