Настройка кроссплатформенного проекта C ++ в Eclipse с кроссплатформенными библиотеками - PullRequest
8 голосов
/ 28 сентября 2010

Я работаю над кроссплатформенным проектом C ++ с 8 другими людьми, которые используют следующие библиотеки:

  • Библиотека OpenCV
  • Boost C ++ Library

Проект предназначен для кроссплатформенности, поэтому все пользователи согласились не использовать специфичный для платформы код, и, для простоты, все пользователи будут использовать Eclipse в качестве своей IDE.Однако некоторые будут использовать Eclipse для Windows, в то время как другие будут использовать Eclipse для Linux.

Поскольку проект будет размещаться в SVN, мы хотели бы избежать конфликтов с различными файлами конфигурации (такими как make files, eclipse project).файлы и т.д ..), которые являются общими.Мы также хотели бы поделиться как можно большим количеством файлов конфигурации через SVN, чтобы максимально упростить настройку.

Предположим, что все пользователи правильно настроили системные переменные и установили необходимые инструменты сборки (например,как make, cmake и т. д.), и настроили их параметры Eclipse, настроенные должным образом (но не параметры, специфичные для проекта).

Как настроить проект один раз и какие файлы конфигурации использовать совместно в репозитории,так что и пользователи Windows, и Linux могут скомпилировать его без изменения файлов конфигурации, полученных из репозитория SVN?

(я не ищу полного решения, которое бы конкретно работало бы с этими двумя библиотеками, о которых я говорил, поэтому я был бы признателенобщие пошаговые пояснения, которые позволят мне легко добавить еще одну библиотеку.)

Ответы [ 2 ]

0 голосов
/ 03 декабря 2014

Два предложения:

  • Используйте cmake: мне нравится этот инструмент.Есть некоторая кривая обучения, но если вы поймете это правильно, все, что будет включать проект, это файлы cmake, и когда человек впервые проверяет это, он запускает cmake для генерации своих make-файлов (или файлов проекта VC ++ и т. Д.) Со всеми различнымиправила для Linux или Windows, которые могут понадобиться.

или

  • Проверьте базовую конфигурацию для проекта, затем добавьте эти конфиги в git / svn, игнорируйте, чтобы никто некогда-нибудь проверяете их снова, затем, когда вы впервые оформляете заказ, вам нужно запустить конфигурацию, но после этого она не будет перезаписана.
0 голосов
/ 25 апреля 2013

Общая дискуссия:

Вам потребуется установить Cygwin или что-то подобное, чтобы сделать набор инструментов GNU Autotools доступным для Eclipse в Windows: Как бороться с Eclipse CDT + Cygwin?

После того, как ваш инструментарий Eclipse с коннекторами CDT и SVN будет готов на ваших машинах разработки, выполните следующие шаги.

  1. Откройте Eclipse и переключитесь на CDT: нажмите Window-> Open Perspective-> Other ... и выберите C / C ++
  2. Выберите: Eclipse-> File-> New-> C ++ Project
  3. Название проекта: зритель
  4. Выберите: Тип проекта-> GNU Autotools-> Hello World C ++ Autotools Project
  5. Нажмите: Далее
  6. Нажмите: Готово
  7. Щелкните правой кнопкой мыши в Project Explorer: viewer-> Reconfigure project
  8. Нажмите: Консоль-> Показать подменю выбранной консоли -> # CDT Global Build Console. Если вывод «autoreconf -i» является номинальным, перейдите к шагу 9. Если консоль сообщает: sh: autoreconf: команда не найдена, добавьте путь к команде autoreconf в среду сборки проекта:
    1. Щелкните правой кнопкой мыши в Project Explorer: Viewer-> Properties-> C / C ++ Build-> Environment-> Add ...
    2. Имя: PATH
    3. Значение: path_to_autoreconf: $ {env_var: PATH}
    4. Нажмите: OK
    5. Нажмите: Применить
    6. Вернитесь к шагу 8.
  9. Двойной щелчок: Project Explorer-> viewer-> src-> viewer.cpp
  10. Добавить код:

    include

    include

    включает

    int main (int argc, char * argv []) {

    assert (argc> 1);

    CvMat * img = cvLoadImageM (argv 1 );

    cvNamedWindow ("Изображение", CV_WINDOW_AUTOSIZE);

    cvShowImage ("Изображение", img);

    * * CvWaitKey тысяча шестьдесят три (0); * 1 064 *

    возврат 0;

    }

  11. Двойной щелчок: Project Explorer-> viewer-> configure.ac и введите следующий код ниже AC_PROG_CXX.

    AC_CHECK_LIB ([opencv_core], [cvSetZero], [], [])

    AC_CHECK_LIB ([opencv_highgui], [cvShowImage], [], [])

    * +1078 * AC_CHECK_LIB ([boost_regex-т], [regexecA], [BOOST_LIB_SUFFIX = "- т"], [BOOST_LIB_SUFFIX = ""]) * +1079 *

    макрос AC_SUBST (BOOST_LIB_SUFFIX) * * одна тысяча восемьдесят-один

  12. Дважды щелкните: Project Explorer-> viewer-> src-> Makefile.am и введите следующий код. >

    bin_PROGRAMS = Зритель

    viewer_SOURCES = openCvFocusIssue.cpp

    viewer_LDFLAGS = -lboost_regex @ BOOST_LIB_SUFFIX @ -lopencv_core -lopencv_highgui

  13. Повторите шаг 8, autoreconf (перенастроить проект)
  14. Нажмите: Project Explorer-> Viewer
  15. Создайте проект, нажав молоток на панели инструментов. Если вы не видите молотка, Window-> Open Perspective-> Other ... и выберите C / C ++. Если C / C ++ не появляется, установите CDT.
  16. Нажмите: Project Explorer-> Viewer, а затем Run-> Run, затем в окне Run As-> Local C / C ++ Application, затем в окне Launch Debug Configuration Selection -> gdb / mi и нажмите enter. Вы должны увидеть Hello World.
  17. Выйдите из Eclipse и перейдите в каталог проекта средства просмотра.
  18. В командной строке введите make dist
  19. Убедитесь, что у вас есть файл viewer-1.0.tar.gz или файл с аналогичным именем, а затем удалите его: rm viewer-1.0.tar.gz
  20. В командной строке введите make clean
  21. Там же, выпуск make distclean.
  22. Перейдите в каталог рабочей области, в котором находится проект средства просмотра.
  23. Переместите весь каталог средства просмотра в каталог, содержащий извлечение svn, в которое вы хотите поместить проект средства просмотра.
  24. Измените каталоги туда, куда вы только что переместили зрителя.
  25. svn add viewer && svn ci -m "Добавлен проект eclipse-autotool"
  26. Откройте затмение и убедитесь, что у вас установлен разъем SVN.
  27. Удалить проект "Viewer" из представления Project Explorer.
  28. Откройте затмение и добавьте эту проверку SVN-репозитория в перспективу Team.
  29. Импортируйте проект средства просмотра из проверки SVN-репозитория.
  30. Вернитесь в перспективу C / C ++ и получайте удовольствие.
...