【发布时间】:2019-02-05 13:52:25
【问题描述】:
我正在尝试编译 LAME 以在 QNX 主机上工作。我试过运行以下命令。
$ ./configure --host=i386-pc-qnx
$ make
如您所见,它会生成一个 64 位 ELF 文件,显然无法在 32 位硬件上运行。 (我也尝试运行它只是为了确保。)
$ file lame
lame: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=, not stripped
这个link 表示可以为 QNX 编译 LAME,并且我在运行配置脚本时没有收到任何错误,所以我知道 i386-pc-qnx 是一个有效的主机名。
这是我第一次交叉编译程序,所以很可能我遗漏了一些明显的东西。
谢谢!
【问题讨论】:
-
您使用的是什么版本的 QNX?
-
QNX 6. 我最终只是复制了 make 的输出(基本上只是一堆 gcc 调用)并将其放入 bash 脚本中。然后我使用搜索和替换来修改命令以使用 QNX 工具链。这很 hacky,但它可以工作。
-
效果很好!
-
您能否将解决方案作为答案并将问题标记为已解决?
标签: cross-compiling qnx lame