我正在使用已安装GCC 6.3.0 x64架构的Debian计算机上开发C ++应用程序,但是该应用程序将在具有GCC 4.4.7 x86的Centos上运行。
如何为目标环境编译我的应用程序?唯一的方法是在主机上安装GCC 4.4.7吗?
答案 0 :(得分:2)
您可以使用GCC 6.3进行构建,但是应该使用-D_GLIBCXX_USE_CXX11_ABI=0
选项来使用较早的ABI以与4.9之前的GCC兼容。否则它将无法在目标系统上正常运行。
为绝对确保兼容性,您确实可以使用目标系统的工具链。不过,您无需直接将其安装在计算机上。您可以在运行旧版发行版的虚拟机中进行编译,也可以使用docker(或其他一些容器系统)。