将编译/制作项目从旧的 RedHat 5 (CentOS) 迁移到现代 Ubuntu/Mint

将编译/制作项目从旧的 RedHat 5 (CentOS) 迁移到现代 Ubuntu/Mint

所以我目前正在做一个小学习项目。

我有一个由多个 *.cpp *.hpp 等文件编译而成的项目/程序。该项目(实际的 bin 可执行文件)是使用 Make 构建的(存在 CMakeLists.txt)。该项目在旧的 RedHat 5 OS 64 上运行,并于 2013 年制作。我试图弄清楚如何将整个项目移动并重新编译到现代操作系统(例如 Ubuntu 或 Mint 19.3 64x) )。

1.解决这个问题的第一步是什么?

2.有没有办法“扫描”Make 项目设置文件并“查看”需要哪些库、组件、程序?

3.ldd在可执行文件上运行会显示所需的库......

我不是一个专家程序员(只是一个业余爱好者,甚至还不够)。

答案1

基本上ldd是一个很好的起点。如果 RHEL 5 已经有了,yum whatprovides那么将 ldd 输出转换为编译软件所需的软件包列表将非常容易。

请注意CMakeList.txt与 对应cmake,而不是直接与 对应makecmake生成Makefile然后由 执行make

在新系统上开始安装cmake之前确定的软件包列表。根据项目类型和依赖关系,这可能很容易,甚至不可能。如果您的项目使用 QT3,则在 RHEL7 上可能只有 QT4。这种依赖性问题需要修改项目文件。

复制文件,并尝试cmake .make.如果您看到丢失.h文件的错误,请再次尝试yum whatprovides查找所需的包。

祝你好运,因为一路上可能会有更多绊脚石。 :-)

相关内容