我可以在我的Ubuntu 9.10上使用gcc与旧版本的Linux发行版交叉编译吗?
我有一些旧的硬件,上面运行着旧版的SuSE linux。 现在我有这台花哨的开发机器运行Ubuntu 9.10。 我用来编译我的C应用程序的一些工具(用Python 2.6.x编写)在旧的SuSe框中不可用。 那么……是否有可能在我的开发盒上编译那台旧机器?
我有以下几个步骤,但想在冒险进入这个任务之前进行交叉检查:1。找出我的应用程序需要哪些静态/共享库,并找到/构建它们的目标版本2.同时找到相应的头文件3.将正确的标志输入gcc以使用目标标头和库4.将正确的标志输入gcc以使用正确的体系结构(i386 / i686),或者我是否需要交叉编译工具链。 5.编译,上传和欣赏;-)
我经常使用avr-gcc和cc65,两者都是交叉编译。 我知道你设置了一个coss编译器来开发像gumstix这样的东西,所以它应该可以为旧的/其他Linux发行版做同样的事情,不是吗?
C
我接近这个的方法是抓住你的oldmachine:/usr/lib
和oldmachine:/usr/include
所以你有例如newmachine:/oldmachinecompiler/usr/{lib|include}
然后构建一个交叉编译器设置--sysroot
到newmachine:/oldmachinecompiler/
这确实是确保程序中的任何库要求(包括libc)与oldmachine
兼容的oldmachine
。