在linux的嵌入开发当中,要经常进行cross compiling的操作,也会经常出现一些错误,现总结如下:
1. 在configure中经常会出现类似下面的错误:
configure: error: cannot check setpgrp when cross compiling
一般解决方法是将相应configure文件中相应test的ac_cv**变量置到cache中,例如:
eval ac_cv_file__usr_X_include_X11_X_h=no \
eval ac_cv_file__usr_X11R6_include_X11_X_h=no \
eval ac_cv_func_setpgrp_void=no \
./configure --prefix=%{_prefix} --host=$CFGHOST --build=%{_build} \
--cache-file=config.cache
2. 另外一个常见的问题时,在编译target 程序时,用的是cross compiler,理所当然build出来的程序不能直接在host端运行。如果在build target时,中间调用了一些自编译生成的程序,就会出错。
解决方法:在host 平台上build出相应的工具, copy到target build中,覆盖不能运行的程序。
3.
阅读(2184) | 评论(0) | 转发(0) |