使用较新的工具链构建应用程序是否有效?

Is it valid to use newer toolchain for application build?

目前我们使用与用于构建根文件系统的工具链相同的工具链来构建我们的应用程序。

使用较新的工具链构建应用程序是否有效,或者在目标文件系统上 运行 时是否会导致任何不匹配?

编辑:

我想为应用程序添加清理检查。不幸的是 arm-linux-gnueabihf 4.8 版本还不支持它。所以我想为相同的体系结构使用相同的 linaro 工具链构建我的应用程序,只是更新更多(版本 6.4 而不是 4.8)

要完成这项工作,您需要旧库和重新编译的应用程序之间的 ABI 兼容性。 C ABI 比 C++ ABI 简单得多。 C 部分不会有问题。

对于 C++ 部分,您可能需要通过 g++ -fabi-version select 正确的 ABI 版本。

对于 C ABI,这是所使用的 libc 版本之间的 ABI 兼容性问题。 glibc(Linaro 工具链使用的那个)通常是安全的。