目前,我们使用与用于构建根文件系统的工具链相同的工具链来构建我们的应用程序。
使用较新的工具链构建应用程序是否有效,或者在目标文件系统上运行时是否会导致任何不匹配?
修改:
我想为应用程序添加清理检查。不幸的是arm-linux-gnueabihf版本4.8还不支持它。因此,我想使用相同的linaro工具链为相同的架构构建我的应用程序,只需更新(版本6.4而不是4.8)
答案 0 :(得分:2)
要使这项工作,您需要在旧库和重新编译的应用程序之间兼容ABI。 C ABI比C ++ ABI简单得多。您不会遇到C部件的问题。
对于C ++部分,您可能需要通过g ++ -fabi-version选择正确的ABI版本。
对于C ABI,使用的libc版本之间的ABI兼容性问题。 glibc(Linaro工具链使用的)通常是安全的。