мнение об использовании нативных проектов Visual C ++ против проекта makefile - PullRequest
2 голосов
/ 28 января 2011

Я работаю над кроссплатформенной базой кода C / C ++, в которой работают разработчики Visual C ++ (в большинстве) и XCode. Он также должен компилироваться в Linux, потому что именно там он развернут. В настоящее время мы используем сложный сборочный файл Unix, который вызывается из командной строки Visual C ++, XCode и Unix.

Однако проект makefile приводит к нескольким потерям производительности для разработчиков Visual C ++:

  1. Более медленное время сборки
  2. Intellisense и текстовый поиск не работают для файлов, на которые нет прямой ссылки в проекте
  3. Нет .h генерации зависимостей (не ясно, как это сделать в Windows)

Добавление собственного проекта Visual C ++ имеет следующие недостатки:

  1. много работы по управлению всей этой отдельной конфигурацией платформы, как упоминалось здесь Возможно, иерархические таблицы свойств VC ++ 2010 помогут.
  2. больше работы благодаря синхронизации make-файла с собственным проектом

В настоящее время я планирую добавить собственный проект для разработчиков Windows. Может ли кто-нибудь предложить свой опыт в отношении того, что лучше, или предложить, как можно уменьшить эти проблемы при любом подходе.

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

Ответы [ 3 ]

3 голосов
/ 28 января 2011

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

Хорошая вещь о CMake состоит в том, что он строит ВСЕ конфигурации для вас.Вы должны настроить один проект CMake, а затем использовать его для генерации решений VS, проектов XCode и сборочных файлов Unix.

Это огромное улучшение - каждый может работать в своей «родной» среде, независимо от того,на Windows, Mac или Unix.

0 голосов
/ 09 октября 2013

Я не фанат генераторов makefile, cmake , qmake и т. П.

Я фанат make.У нас есть один make-файл (ну, на самом деле, несколько, но они включают друг друга, и в нем нет рекурсивного make), который знает все зависимости проекта на всех платформах (windows, wince, linux, mac, ...).Это дает:

  • Makefile на самом деле является не более чем списком источников (включающие зависимости автоматически генерируются во время сборки)
  • Та же команда сборки на каждой платформе, кроме указанияцепочка инструментов
  • Сборка использует все мои процессоры
  • Очень короткое время бездействия
  • Разработчики могут использовать любую IDE, какую им нравится
    • vim, emacs, Qtcreator, Eclipse, XCode все в использовании
    • Я часто использую VC ++, когда в Windows (для отладчика)
  • Scriptable.Отличный способ автоматизировать ваши тесты

Приятно.

0 голосов
/ 28 января 2011

Я справился с этим, написав собственный конвертер, который синхронизировал бы скрипты для различных встроенных сред разработки.Если что-то вроде приведенного выше ответа об использовании CMake сделает все это за вас, то это будет путь.Но если это слишком сложно, развернуть свой собственный инструмент не так сложно.Просто нужно синхронизировать оба пути.

Также, если у вас его нет.Visual Assist для визуальной студии потрясающий:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...