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++ 实现中可能导致这种情况的主要差异?
最佳答案
我看了一下软件。它的输入代码有点脆弱,我不确定在这种情况下 Ubuntu 或 Red Hat 的 C++ 库是否有问题,但该程序可以很容易地修复以在两者上工作。
在文件 PEDIndividualsExtractor.cpp
中,在函数 void PEDIndividuasExtractor::loadInput()
中,更改行:
while (!stream.eof() )
到:
while (stream)
并重新编译。
关于c++ - 我无法在 Debian(Ubuntu) 中运行在 Redhat(Centos) 中运行的 C++ 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12961336/