【发布时间】:2015-02-11 16:30:12
【问题描述】:
我在为我的 TI Sitara AM335x EVM SK 交叉编译 PostgreSQL 时遇到问题。我的主机系统是运行 Ubuntu 12.04 的 i386 机器。
我的应用程序是使用 Qt 用 C++ 编写的。当我尝试编译时,我得到 libpq.so 不兼容的错误。我相信这是因为交叉编译器正在尝试使用主机 libpq.so 而不是目标系统(据我发现,它不存在)。
我已经下载了 PostgreSQL 的源代码,目的是交叉编译它,以便为我提供与我的目标系统兼容的 libpq.so 库,但是几乎没有关于如何执行此操作的信息。
我尝试使用 CC 参数和配置文件将我的编译器更改为以下内容:CC=/home/tim/ti-sdk-am335x-evm-06.00.00.00/linux-devkit/sysroots/i686-arago-linux/usr/bin/arm-linux-gnueabihf-gcc 但配置脚本给了我这个错误:configure: error: cannot run C compiled programs. If you meant to cross compile, use --host.
configure 文件对 --host 选项做了一个小的引用,但我能在文件中找到的唯一信息是对 mingw 和 windows 的引用,这不是我想要的。
我快速搜索了配置文件,它引用了 --host 选项,但没有解释什么是有效主机。我假设使用--host 选项会有一个关联的--target。
我可以为配置脚本提供哪些参数,以便它与正确的编译器交叉编译以生成我的目标设备可以使用的库?关于 --host/--target 如何工作或如何使用它们,我还没有找到任何资源吗?
【问题讨论】:
标签: postgresql cross-compiling