在 Linux x64 上编译 libcurl x86
我已经在 x64 Ubuntu 安装上交叉编译了大部分 32 位代码,但我不知道如何使用 libcurl 执行相同的操作。
我已经尝试了 --host 和/或 --build i486、x86 等的许多排列,但没有一个有帮助。我还尝试手动编辑 makefile 以包含 gcc 的 -m32
标志,但当我运行它们时它从未显示。
我应该做什么?
I've cross-compiled the bulk of my 32-bit code on my x64 Ubuntu install, but I can't work out how to do the same trick with libcurl.
I've tried many permutations of --host and/or --build i486, x86, etc. but none have helped. I've also tried editing the makefiles to include gcc's -m32
flag manually, but it never shows up when I run them.
What should I be doing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
下载并解压libcurl源码包后,以root用户身份运行此命令来设置构建环境。
configure --host=i686-pc-linux-gnu CFLAGS=-m32 CC=/usr/bin/gcc
后跟
make
你可以在
下找到库./lib/.libs/libcurl
.so 来自运行 make 命令的位置。如果找不到
/usr/bin/gcc
,则必须在 64 位计算机中安装 gcc 以实现 32 位交叉编译环境。After you download and extract the libcurl source package, as a root user, run this command for setting up the build environment.
configure --host=i686-pc-linux-gnu CFLAGS=-m32 CC=/usr/bin/gcc
followed by
make
you can find the libs under
./lib/.libs/libcurl
.so from where you ran the make command.if you dont find
/usr/bin/gcc
, you will have to install gcc for 32-bit cross compilation env in a 64-bit machine.如果您向我们提供错误消息,将会有所帮助。我在 Ubuntu x64 系统上编译 32 位代码时遇到了问题,并出现“ld”错误。我通过将 LDEMULATION=elf_i386 添加到我的环境中解决了这个问题。
It would help if you gave us an error message. I've had issues on Ubuntu x64 systems compiling 32-bit code with 'ld' errors.. I solved it by adding LDEMULATION=elf_i386 to my environment.