Есть ли эквивалент python virtualenv для C/С++-программ?
Мне нужно разрабатывать программы на С++, которые должны запускаться в Scientific Linux 5 или 6. Я хотел бы разработать с QtCreator на Ubuntu, который имеет гораздо более свежие библиотеки, чем тот, который найден на SCL6.
Существует ли эквивалент Python virtualenv для C/С++-программ?
Использование chroot со всеми необходимыми библиотеками и зависимостями может выполнить эту работу. Это существует? См. http://rcrowley.org/articles/dependencies.html об использовании chroot.
Ответы
Ответ 1
Используйте debootstrap для создания chroot-среды (или даже установите ubuntu на отдельный раздел). Установите свой домашний каталог с помощью mount -o bind. Используйте удобную настройку chroot для schroot.
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
Ответ 2
Не уверен, что он достаточно легкий для того, что вам нужно (я не очень хорошо знаком с virtualenv), но вы можете попробовать CDE Project, который это очень хороший способ создания виртуальной песочницы со всеми видами зависимостей.
Ответ 3
Вы можете установить зависимости и компилятор для данного проекта, используя систему сборки, такую как bazel (https://bazel.build/) или, пожалуйста, (https://please.build/).
Он никогда не будет таким же точным, как virtualenv, из-за разной природы языка, и поскольку он все еще будет использовать системный компилятор. Если вы хотите полностью изолировать свой проект, вы можете отправить его в докер-контейнер.
Ответ 4
Я согласен с SeF, используя зависимости. Для меня IDE помогла установить другую среду разработки.
Относительно IDE для разных ОС: