Как проекты с открытым исходным кодом в C / C ++ выполняются точно без файлов .sln / .project? - PullRequest
3 голосов
/ 30 мая 2010

Кажется, что большинство проектов с открытым исходным кодом в C / C ++ предоставляют только исходный код, т.е. Nginx

Является ли это условием, что каждый, кто заинтересован в присоединении к команде разработчиков, должен сам определить файлы .sln/.project для квалификации ??

Ответы [ 3 ]

7 голосов
/ 30 мая 2010

большинство проектов с открытым исходным кодом исходят от Linux. таким образом, они в основном используют инструменты сборки в стиле Unix, а также компиляторы с открытым исходным кодом.

основным инструментом сборки является make, который использует makefile, чтобы знать, как создать проект. в Windows основным компилятором с открытым исходным кодом является MinGW, который является портом win32 gcc. использование этих инструментов позволяет сохранить максимум общего между unix и windows.

обратите внимание, что файлы .sln относятся к компиляторам Microsoft, которые не бесплатны (и довольно дороги), не переносимы и поэтому не подходят для многоплатформенного программирования.

4 голосов
/ 30 мая 2010

В некоторых проектах используется CMake , который может генерировать файлы проекта для вашей любимой системы сборки, но, как упоминалось выше, вам не нужно использовать файлы .sln и pro, даже если проект построен с использованием компилятор MSVC, файлы сборки MinGW +, scons, или CMake, или любое другое количество скриптовых методов для вызова правильных команд для компиляции программы будут работать просто отлично.

Не путайте IDE с компилятором!

4 голосов
/ 30 мая 2010

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

В большинстве случаев они используют так называемую "систему сборки", такую ​​как autotools , CMake или SCons .

Эти системы сборки содержат информацию о:

  • исходный код и как его собрать
  • различные системные проверки, которые необходимо выполнить (например, поиск различных библиотек третьей части)
  • Как создавать и запускать юнит-тесты
  • Как установить приложение

Они также позволяют развертывать важные задачи, такие как кросс-компиляция и упаковка.

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

Итак, эти системы сборки, как правило, гораздо более мощные, чем типичные "файлы проекта", и они обычно работают с несколькими компиляторами на разных платформах и операционных системах.

Некоторые из систем сборки (например, CMake) позволяют использовать один из вариантов создания решений MSVC, а также один из дополнительных способов создания приложений.

...