Наличие нескольких проектов на VS2010 и несколько «основных» функций - PullRequest
1 голос
/ 07 января 2012

Я работаю над игрой, в которой есть разные «модули», которые я сейчас разрабатываю для отдельных проектов, с VS2010.Пока у каждого проекта есть свое решение, и файл main.cpp используется для основной инициализации и выполнения некоторых быстрых тестов моего проекта, которые я очень часто меняю.Возможно ли (и как) иметь 1 решение, перегруппировывающее несколько проектов, в то же время имея одну «основную» функцию для каждого проекта, которую я мог бы запустить независимо от других проектов, чтобы протестировать один проект конкретно?

Ответы [ 2 ]

3 голосов
/ 07 января 2012

Вот что я бы сделал:

Поместите все свои проекты в одно решение. Где-то есть кнопка или пункт меню, чтобы добавить проект в решение. Преимущество этого заключается в том, что вы можете редактировать несколько проектов одновременно, и Visual Studio автоматически перестроит все, что нужно перестроить при компиляции.

Весь ваш повторно используемый код (код, используемый не только в исполняемом файле) должен быть разделен на проекты, которые компилируются в библиотеки DLL.

Для каждого исполняемого файла, который вы хотите сгенерировать, у вас должен быть проект, который компилируется в исполняемый файл и содержит ссылки / ссылки на библиотеки DLL, от которых он зависит. Каждый исполняемый проект будет иметь собственную функцию main, которая запускается при запуске exe.

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

0 голосов
/ 07 января 2012

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

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