我必须开发必须在 Scientific Linux 5 或 6 上运行的 C++ 程序。我想在 Ubuntu 上使用 QtCreator 进行开发,它的库比 SCL6 上的库更新得多。
对于 C/C++ 程序,是否有相当于 Python 的 virtualenv?
使用具有所有必需库和依赖项的 chroot 可以完成这项工作。这存在吗?有关 chroot 的使用,请参见http://rcrowley.org/articles/dependencies.html。
我必须开发必须在 Scientific Linux 5 或 6 上运行的 C++ 程序。我想在 Ubuntu 上使用 QtCreator 进行开发,它的库比 SCL6 上的库更新得多。
对于 C/C++ 程序,是否有相当于 Python 的 virtualenv?
使用具有所有必需库和依赖项的 chroot 可以完成这项工作。这存在吗?有关 chroot 的使用,请参见http://rcrowley.org/articles/dependencies.html。
使用 debootstrap 创建 chroot 环境(甚至将 ubuntu 安装在单独的分区上)。使用 mount -o bind 挂载你的主目录。使用 schroot 方便 chroot 设置。
http://manpages.ubuntu.com/manpages/precise/en/man8/debootstrap.8.html
http://manpages.ubuntu.com/manpages/precise/en/man8/mount.8.html
http://manpages.ubuntu.com/manpages/precise/en/man1/schroot.1.html
您可以使用以下工具:
不确定它是否足够轻量级以满足您的需要(我对 virtualenv 不是很熟悉),但您可以尝试CDE 项目,这是创建具有各种依赖项的虚拟沙箱的一种非常好的方法。
您可以使用 bazel ( https://bazel.build/ ) 或 please ( https://please.build/ )等构建系统为给定项目建立依赖关系和编译器。
由于语言的不同性质,它永远不会与 virtualenv 完全相同,因为它仍将使用系统编译器。如果您想让您的项目完全隔离,您可以将项目放在 docker 容器上。