该方案在

如何编制32-bit binary在linux的64位机与海湾合作委员会/cmake

是不可能的,因为我使用3第三方软件和其他的东西这是使用CFLAGS变了。并修补它们的生成文件是不允许的-说我的老板。

所以我必须找到另一种方式来执行。也许是一些神奇的具有象征意义的链接向呼吁海湾合作委员会的一个32位版本的编译程序(希望默认的目标是检测不到的动态).

有帮助吗?

解决方案

您不允许更改CFLAGS您的环境中,但没有任何原因,您暂时无法覆盖它为构建?

对于基于autotool-包,我将首先尝试:

CFLAGS="-m32" ./configure [opts]
make
make install

一个良好的书面文件configure.ac应该尊重你CFLAGS变量和附加到它,而无需修改包源。

<强>更新

假设,那么,你不能重新定义你的CC变量,要么,我会玩一些花样路径。使在${HOME}/gcc32一个外壳脚本调用gcc以下的(另):

#!/bin/sh
/usr/bin/gcc -m32 "$@"
当你想建立

然后在前面加上了此信息路32位:

export PATH=${HOME}/gcc32:${PATH}

,明显的修改将支持g++icc,或任何其他的编译器。

其他提示

让我们假设gcc和朋友都位于“在/ usr / bin”中。让我们也假设你有一个名为“〜/。当地/ bin”文件夹是在您的路径。

:您可以在“〜/。当地/箱”如创建一个名为“海湾合作委员会” bash脚本
#! /bin/bash
/usr/bin/gcc -m32 $@

可以类似地创建一个“克++”脚本与内容如下:

#! /bin/bash
/usr/bin/g++ -m32 $@

基本上,保持按需 “为”, “LD”,等等。这样做了 “C ++”, “CC”。使脚本可执行文件。确保“〜/。当地/ BIN”在之前“在/ usr / bin中” PATH环境变量。如果是这样的话,则当生成文件调用编译器(假设他们使用相对路径),脚本将被调用,而不是

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top