您好我正在尝试在Ubuntu上为RedHat 6.4构建一个可执行文件 - 由于gcc版本不同,我正在努力。
RedHat 6.4机器使用gcc 4.4.7。 Ubuntu机器使用gcc 4.6.3。
以下是我的尝试:
在Ubuntu机器上安装g ++ - 4.4并使用旧版本的gcc进行编译:失败,因为代码库使用了g ++中尚未提供的功能 - 4.4
将Ubuntu libc.so.6和libstdc ++。so.6复制到RedHat机器上。程序开始,然后是段错误。
将Ubuntu上的可执行文件静态链接到-Wl,-Bstatic作为链接选项。使用"警告在第三方库中失败:使用' dlopen'在静态链接的应用程序中,需要在运行时使用glibc版本中的共享库来链接"。
所以我现在有点困惑......有什么建议吗?
答案 0 :(得分:0)
根据上面的评论,决定在另一台机器上转储RedHat(没有订阅,因此不易升级)并切换到具有最新gcc的Fedora。不是可扩展的解决方案,而是你能做什么。