【发布时间】:2012-10-09 07:20:21
【问题描述】:
TLDR:在 Ubuntu Debian 的 Centos Redhat 中编译 C++ 程序时遇到问题。在这两者之间我应该注意什么会使使用相同编译器编译的 C++ 程序不起作用?
您好,我正在尝试编译和运行 Germline (http://www1.cs.columbia.edu/~gusev/germline/)。它在 RedHat Centos 中运行良好,但是对于我切换的大多数东西,Centos 的支持不如 Ubuntu。现在这个程序不起作用。它完全有可能使用某种仅限 RedHat 的功能,但我使用相同的编译器 (g++) 在两种环境中编译它。
我一直在努力让这个东西在 Ubuntu 上工作,因为它更好用,但现在当我在 ubuntu 中“制作所有”项目时,它会编译和测试永远旋转(永远不要完成)。无论我使用什么二进制文件(在 Centos 中编译并复制,我刚才提到的失败的测试二进制文件等),程序总是会冻结。
有点长,抱歉。我的主要问题是:我可以尝试其他 C++ 编译器替代方案吗?是否有任何我可能缺少的 Red-hat C++ 库。或者可能导致这种情况的 C++ 实现的主要差异?
【问题讨论】:
-
为了让我们帮助您,您必须至少提供 G++ 编译器给您的错误。
-
当您说“相同的编译器”时,您使用的是相同版本的 g++ 吗?两台机器上的配置输出是什么样的?
-
我也遇到过类似的情况,尽管是在 Windows 和 Linux 上。可能是您的代码依赖于某种未定义的行为才能正常运行,并且无论出于何种原因,这种行为只发生在 Red Hat Linux 上。我的建议是使用调试符号编译并通过 Valgrind 运行代码以捕获任何错误。
-
你试过运行预编译的二进制文件吗?
标签: c++ ubuntu centos debian redhat