我正在尝试交叉编译libSDL 1.2版(它利用autoconf和configure)来定制基于Debian的Linux系统。我正在使用的工具链已经正确配置,因此我只需在所需代码上运行gcc
/ g++
,结果输出与目标机器兼容。
当我在libSDL源目录中运行./configure --help
时,我发现我基本上可以设置一些环境变量来指向我的交叉编译器,并且我还看到以下选项:
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
我设置了这些选项,以便看起来配置知道我正在尝试交叉编译,如checking whether we are cross compiling... yes
和{{1标志不同。但是,我并不是100%确定这是导致它知道我正在交叉编译的原因。
我的问题是configure选择了我的编译器(我使用env.var。设置)并检测gcc,但它找不到其他构建工具,例如objdump。它应该在/ bin /(所有其他构建工具都在哪里)查看,但我猜它没有找到合适的位置。
这是我的命令和输出:
--build
在我看来,它无法找到我的交叉编译器objdump,但它确实找到了主机的objdump的本地副本。
我查看了所有--host
的标志,但在设置交叉编译搜索目录时找不到任何内容。如何在$ ./configure --prefix=/home/sudoroot/code/sal_wip/libsdl/SDL-1.2.15/prefix_dir --exec-prefix=/home/sudoroot/code/sal_wip/libsdl/SDL-1.2.15/exec-prefix_dir --build=i686-pc-linux-gnu --host=i686-linux
<...>
checking for i686-linux-gcc... /toolchain/x86_gcc-4.7.2_eglibc-2.17-r22120_i686-host-linux-gnu-2/bin/i686-linux-gcc
checking for i686-linux-objdump... no
checking for objdump... objdump
configure: WARNING: In the future, Autoconf will not detect cross-tools
whose name does not start with the host triplet. If you think this
configuration is useful to you, please write to autoconf@gnu.org.
<...>
目录中configure
找到我的工具?