Наличие программы на C ++ для создания проекта Visual C ++ без использования системы?

В основном, у меня есть программа, которая генерирует пару .cpp файлы, которые включены в проект Visual Studio. Теперь я хочу, чтобы моя программа попросила Visual Studio построить этот проект, теперь, когда .cpp файлы были созданы.

я могу использовать system() звонить MSBuild или же devenv сделать это. Они оба плохо себя ведут, но я могу заставить их работать. Но в конечном счете, я действительно хочу взаимодействовать с Visual Studio / MSBuild непосредственно в моем коде C ++, чтобы я мог делать такие вещи, как, если бы он возвращал мне путь к выводу напрямую, или что у вас.

Есть ли способ сделать это? Каждый раз, когда я выполняю поиск по «созданию проекта Visual Studio в C ++» или подобному, конечно, я просто получаю базовые учебные пособия по настройке проекта и построению его через IDE (или, в лучшем случае, через командную строку).

0

Решение

Используйте CreateProcess и используйте перенаправление stdout для передачи вывода в файл. Затем вы можете программно прочитать и оценить этот файл.

Пример MS: http://support.microsoft.com/kb/190351
Может быть, это поможет: Как перенаправить вывод в файл с помощью CreateProcess?

1

Другие решения

Вы можете запустить генератор из студии как событие перед сборкой. именно так MS считает, что мы должны это сделать. Кроме того, внутри решения вы можете связывать проекты через зависимости. снова стиль MS. Альтернативно, вы можете создать настоящую систему make, такую ​​как CMake.

1

Вы можете запустить любую командную строку из .NET с помощью System.Diagnostics.Process.

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx?cs-save-lang=1&CS-Ланг = каст # код-сниппет-1

0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector