有python的等价物吗';s virtualenv for C/C++;程序? 我必须开发C++程序,这些程序必须在Linux 5或6上运行。我想在Ubuntu上与QtCreator一起开发,它拥有比SCL6上的库更新得多的库

有python的等价物吗';s virtualenv for C/C++;程序? 我必须开发C++程序,这些程序必须在Linux 5或6上运行。我想在Ubuntu上与QtCreator一起开发,它拥有比SCL6上的库更新得多的库,c++,c,virtualenv,C++,C,Virtualenv,对于C/C++程序,是否有Python的virtualenv的等价物 使用包含所有必需库和依赖项的chroot可以完成这项工作。这是否存在?请参阅chroot的使用。使用debootstrap创建chroot环境(甚至在单独的分区上安装ubuntu)。使用Mount-o绑定挂载您的主目录。使用schroot方便的chroot设置 不确定它是否足够轻量级以满足您的需要(我对virtualenv不是很熟悉),但您可以尝试使用,这是一种非常好的方法,可以创建具有各种依赖关系的虚拟沙盒。您可以使用b

对于C/C++程序,是否有Python的virtualenv的等价物


使用包含所有必需库和依赖项的chroot可以完成这项工作。这是否存在?请参阅chroot的使用。

使用debootstrap创建chroot环境(甚至在单独的分区上安装ubuntu)。使用Mount-o绑定挂载您的主目录。使用schroot方便的chroot设置


不确定它是否足够轻量级以满足您的需要(我对virtualenv不是很熟悉),但您可以尝试使用,这是一种非常好的方法,可以创建具有各种依赖关系的虚拟沙盒。

您可以使用bazel()或please()等构建系统为给定项目建立依赖关系和编译器

由于语言的不同性质,而且它仍将使用系统编译器,因此它将永远不会与virtualenv完全相同。如果您希望将项目完全隔离,您可以将项目放在docker容器上。

我同意使用依赖项。对我来说,IDE帮助设置了不同的开发环境

关于不同操作系统的IDE:

  • Linux:
  • 窗口:

您可以使用以下工具:

  • 柯南虚拟环境()
  • 康达虚拟环境()
  • 码头集装箱

“使用具有所有必需库和依赖项的chroot可以完成这项工作。这是否存在?”-是的,但您必须自己进行设置,然后您显然无法从chroot读取/写入用户文件。但是,您可能同样可以将依赖项放在同一目录中和/或在加载主应用程序的启动脚本中操作LD_LIBRARY_路径。但是您真的需要使用更新的库吗?像这样做临时更新通常会带来很多麻烦,实际上我并不需要chroot提供的安全性。但是在SCL6上下文中查看我的程序的ldd输出时,我看到了像/lib/ld linux.so.2这样的库依赖项,这在Debian和SCL6之间可能有所不同。我还看到一个库LinuxGate.so.1,它没有特定的路径。所以我甚至不确定这个程序是否会在chroot环境中运行,因为我不知道把这个库放在哪里。你不知道。LinuxGate是内核的接口——它是一个虚拟库,不存在于磁盘上。ld linux是共享库加载器(我认为),也是相当标准的。任何直接与内核接口的库(我也认为是libc)在Linux发行版之间都可能不同,因为内核是不同的。您应该能够使用现有的库。您想在Ubuntu上创建一个类似于SCL6的环境进行开发,还是在SCL6上创建一个类似于Ubuntu的环境进行部署?我推荐后者。它只需要在程序中附带几个库,当依赖项变化不大时,这看起来非常有趣。在我的例子中,我在debian计算机上,需要使用SL5操作系统开发具有依赖性的代码。我也希望能够使用QtCreator进行开发。