2013-08-27 2 views
0

У меня есть проект Rails, который будет использовать OpenCV, и это зависит от определенной версии (2.4.6.1).Работа с большой библиотекой C++ в развертывании Rails

Я ищу совет по развертыванию. Пакет Ubuntu opencv является более ранней версией и поэтому не подходит.

Я вижу несколько возможностей, но я пытаюсь думать о том, что будет работать лучше всего.

  • Просто напишите его в README и ожидать, что люди следовать: загружает это, APT-получить, что и т.д ...

  • Добавить OpenCV, помеченный в версии нам нужно, как git, и включить задачу Rake для ее создания.

  • Напишите сценарий для загрузки и компиляции необходимого кода.

  • Что-то еще?

Ни один из них не кажется таким прекрасным, чтобы говорить правду.

ответ

1

Может ли ваше приложение работать с OpenCV 2.4.2? То есть available in Ubuntu 13.04, и вы можете запросить его backported - 12.04. Если нет, вы можете обновить исходный пакет до 2.4.6.1 (что потребует изучения около debian packaging, но может быть не слишком сложно, так как вы будете изменять существующий пакет вместо того, чтобы начинать с нуля), загрузите его в PPA и проинструктируйте свой пользователей Ubuntu для установки OpenCV. Вы также можете упаковать приложение для рельсов и поместить его в PPA, что упростит общую установку.

+0

Я помню немного о пакете Debian, являющемся разработчиком Debian в течение нескольких лет, но 1) это было какое-то время, и 2) этот пакет является чем-то вроде зверя - требуется много времени для компиляции, поэтому каждый раз, когда вам нужно перезапустить процесс создания пакета, требуется много времени. Идея, с которой мы в настоящее время работаем, состоит в том, чтобы статически компилировать двоичный файл, который использует OpenCV и распространяет его с помощью приложения rails. Поскольку есть только одно приложение, мы не теряем слишком много ресурсов из-за статического компиляции. –