我可以在我的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/liboldmachine:/usr/include所以你有例如newmachine:/oldmachinecompiler/usr/{lib|include}然后构建一个交叉编译器设置--sysrootnewmachine:/oldmachinecompiler/

这确实是确保程序中的任何库要求(包括libc)与oldmachine兼容的oldmachine