2009-11-20 3 views
6

Есть ли какой-нибудь инструмент, который может конвертировать большое и сложное решение * Visual Studio 2005 (или 2008) в проект SCons?Решение Visual Studio для SCONS?

* Множество проектов и различных конфигураций на нескольких платформ/компиляторов

ответ

5

Наверное, нет, и даже если там были, SCons дает значительно большую прозрачность и гибкость об управлении сборки, чем Visual Studio делает. В качестве отправной точки лучше всего делать каждый по очереди.

  1. Создать новую Makefile проект
  2. клонировать источник от одного проекта к другому
  3. Invoke SCons из команды Makefile.
  4. Замените зависимость от старого проекта версией scons.
  5. Тест
  6. Повторите с 1. с каждым проектом.

После того, как вы сделали несколько проектов, довольно легко реорганизовать основные различия между типами сборки (разделяемые библиотеки, статические библиотеки и программы) и платформами в модуль общих помощников scons, которые можно импортировать. В окнах рассмотрим группы флагов для таких вещей, как отладочные и выпускные сборки, стандартная привязка библиотеки и обработка исключений.

Кроме того, вещи высматривать включают:

  • Если вы делаете кросс-платформенный строит, рассмотрим различия между связующими моделей с учетом эффектов недостающих символов.
  • Что вы будете делать, чтобы иметь дело с файлами манифеста и ссылаться на инструменты визуальной студии.
  • Варианты построения каталогов (отладки/выпуска) могут быть сложными с самого начала. Начните с простого и улучшите свою сборку, как только вы убедитесь, что это необходимо.
+1

Я начинаю видеть шаблон для кросс-платформенной разработки, где люди начинают с создания Make/Scons, а затем создают их создатели для проектов Visual Studio/Eclipse/XCode для родных платформ для поддержки людей, которые их используют. – Fuzz

+0

Это был бы правильный способ сделать что-то, однако в рассматриваемом решении сотни проектов/зависимостей (если все они были построены в одном и том же решении). – Danielb

0

Следующие script выглядит многообещающим. Я могу дать ему завихрение: причина в том, что ручное решение не совсем практично из-за огромного масштаба рассматриваемого решения: у него сотни проектов. Вот почему я думал, что сценарий, который будет генерировать модули SCons, даст мне отправную точку.

К сожалению, перенос рассматриваемого решения на SCons вручную будет само по себе проектом !, хотя я признаю, что это был бы «правильный» способ сделать это.

Смежные вопросы