0

基本上,我有一个程序可以生成几个.cpp文件,这些文件包含在 Visual Studio 项目中。我想要的是让我的程序告诉 Visual Studio 构建该项目,因为.cpp文件已经生成。

我可以system()用来打电话MSBuilddevenv做。目前这些都行为不端,但我可以让它们工作。但最终,我真正想要的是直接在我的 C++ 代码中与 Visual Studio/MSBuild 交互,所以我可以做一些事情,比如让它直接将输出的路径返回给我,或者你有什么。

有没有办法做到这一点?当然,每次我搜索“在 C++ 中构建 Visual Studio 项目”或类似内容时,我都会获得有关设置项目并通过 IDE(或者,充其量是通过命令行)构建项目的基本教程。

4

3 回答 3

1

使用 CreateProcess 并使用 stdout 的重定向将输出通过管道传输到文件。然后,您可以以编程方式读取和评估此文件。

MS 示例: http: //support.microsoft.com/kb/190351
也许这有帮助:如何使用 CreateProcess 将输出重定向到文件?

于 2012-12-02T17:20:01.327 回答
1

您可以从工作室运行生成器作为预构建事件。这就是 MS 认为我们应该这样做的方式。此外,在解决方案中,您可以通过依赖项链接项目。又是 MS 风格。或者你可以做一个真正的制作系统,比如 CMake。

于 2012-12-02T17:21:01.740 回答
0

您可以使用 System.Diagnostics.Process 从 .NET 中启动任何命令行。

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx?cs-save-lang=1&cs-lang=cpp#code-snippet-1

于 2012-12-02T17:05:00.820 回答