【发布时间】:2013-06-21 09:03:20
【问题描述】:
我有一个需要编译为 32 位应用程序的 C++/C 应用程序(因为某些第三方库仅可用于 32 位)。但是,编译和执行都将在 CentOS 6.4 x86_64 机器上进行。
我正在使用 gnu 自动工具进行构建。在做了很多谷歌搜索之后,终于想出了一组选项给./configure 以创建 32 位可执行文件/共享对象。设置LD_LIBRARY_PATH 搜索/lib, /usr/lib/, /usr/lib/gcc/... 而不是/lib64, ... 使用file 命令验证所有生成的.so 和可执行文件都是32 位的。
但如果我运行可执行文件,我会收到错误消息:“undefined symbol: _ZL22__gthrw_pthread_cancelm”。
有什么线索吗?
【问题讨论】:
标签: c++ c linux cross-compiling x86-64