Lot*_*har 11 linux 64-bit gcc freebsd compilation
解决方案
如何使用gcc/cmake在64位Linux机器上编译32位二进制文件
是不可能的,因为我使用第三方软件和已经使用CFLAGS变量的其他东西.我的老板说,不允许修补他们的makefile.
所以我必须找到另一种方法来强制执行它.也许有一些神奇的符号链接将调用gcc重定向到32位版本的编译器(希望不动态检测默认目标).
jva*_*sak 15
您不能在您的环境中更改CFLAGS,但有任何理由您无法暂时覆盖它以进行构建吗?
对于基于autotool的软件包,我首先尝试:
CFLAGS="-m32" ./configure [opts]
make
make install
Run Code Online (Sandbox Code Playgroud)
一个编写良好的configure.ac
文件应该尊重你的CFLAGS变量并附加到它,而不需要你修改包源.
更新
那么,假设你不能重新定义你的CC变量,我会玩一些路径技巧.使用以下(未经测试)${HOME}/gcc32
调用shell脚本gcc
:
#!/bin/sh
/usr/bin/gcc -m32 "$@"
Run Code Online (Sandbox Code Playgroud)
当您想要构建32位时,请将其添加到您的路径中:
export PATH=${HOME}/gcc32:${PATH}
Run Code Online (Sandbox Code Playgroud)
明显的修改将支持g++
,icc
或任何其他编译器.
归档时间: |
|
查看次数: |
22975 次 |
最近记录: |