Jac*_*ock 51 automake autotools configure
我使用的是64位系统但需要一组32位二进制文件.我必须将哪些选项传递给configure脚本才能生成32位/ x86 makefile?
Jac*_*ock 68
传递以下参数来配置脚本允许我在64位Linux上构建32位库
./configure --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
Run Code Online (Sandbox Code Playgroud)
vol*_*ato 47
杰克的回答是不完整的.
您需要编译器/ libc支持32位编译.在像Ubuntu这样的发行版中,您需要做的是安装包gcc-multilib和/或g++-multilib:
sudo apt-get install gcc-multilib g++-multilib
Run Code Online (Sandbox Code Playgroud)
然后你可以像你说的那样调用configure,指定一个32位主机并传递32位编译标志:
./configure --host=i686-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"
Run Code Online (Sandbox Code Playgroud)
如果您没有安装multilib,则会configure: error: C compiler cannot create executables在传递-m32标志时收到错误消息.
我通过设置自定义编译器取得了更好的成功.这样,所有配置测试,甚至是使用自定义CFLAGS的测试,都能正常工作:
./configure CC="gcc -m32" CXX="g++ -m32"
Run Code Online (Sandbox Code Playgroud)
当然,您仍然需要应用程序使用的所有库的32位版本,因此有关缺少库的任何错误都指的是32位版本.
| 归档时间: |
|
| 查看次数: |
64420 次 |
| 最近记录: |