首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编译boost时错误的地址模型

编译boost时错误的地址模型
EN

Stack Overflow用户
提问于 2020-07-16 08:32:35
回答 1查看 250关注 0票数 7

我编写了一个混合Python3和C++的程序。我正在使用boost-python 1.62,并在Windows上混合使用。到目前为止,我已经在许多机器上编译了C++ python,而且它一直运行良好。现在,我把源代码提供给一位同事在他的机器上安装,编译失败了,他抱怨符号和“文件格式不被识别”的问题。

不过,我看到的是:在我的机器上,b2在编译开始时报告这一点:

32位: no (cached)

  • 64-bit : yes (缓存)

  • arm: no (缓存)

  • mips1: no (缓存)

  • power: no (cached)

  • sparc:no (缓存)

  • x86: yes

支持: yes

在我同事的机器上,看起来是这样的:

(cached)

  • mips1

  • 32位:是(缓存)

  • arm: no

  • :no (cached)

  • power : no (cached)

  • sparc : no (缓存)

  • x86:yes (cached)

  • symlinks支持: yes

我确信问题与他的系统有关,他试图编译32位代码,并试图将现有的64位代码链接到它。问题是,为什么它一开始就试图编译32位代码?这台机器还不到一年,所以它肯定是64位。然而,更重要的问题是,我如何说服机器用64位进行编译?

顺便说一句,这是我的用户config.jam:

代码语言:javascript
运行
复制
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
  : ;
EN

Stack Overflow用户

发布于 2020-07-28 12:32:36

您的同事肯定是编译为32位的,您可以添加参数-m64,它应该强制mingw编译为64位(假设您的同事有一个支持跨兼容性的版本,即mingw-w64)。

我想你的同事下载了http://www.mingw.org/,但他/她需要:http://mingw-w64.org

:mingw.org:

"MinGW是(GCC)的一个本地Windows端口,具有可自由分发的导入库和构建本机Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。尽管(目前)只提供32位编译器套件,MinGW的所有软件都将在64位Windows平台上执行。“

来自mingw-w64.org的

“明威-W64”是最初的mingw.org项目的一个进步,该项目是为了支持GCC在Windows系统上的编译器而创建的。2007年,为了提供对64位和新API的支持,它对其进行了分叉。自那时以来,它得到了广泛的使用和分发。

票数 2
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62930695

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档