用c#以编程方式编译生成的.cpp文件?

Posted

技术标签:

【中文标题】用c#以编程方式编译生成的.cpp文件?【英文标题】:Programatically compile generated .cpp file with c#? 【发布时间】:2015-03-09 19:47:48 【问题描述】:

我使用 c# 以编程方式生成了一个 .cpp 文件,并将其另存为 "D:\" 中的 a.cpp。 我的问题是如何使用 Visual Studio 之类的东西在 C# 中以编程方式编译这个文件?

【问题讨论】:

你调用msvc c++编译器编译? 前提是你已经安装了VS,直接使用cl.exe编译你的文件即可。 msdn.microsoft.com/en-us/library/9s7c9wdw.aspx @AndrejBratoz 如何使用这个 .exe 文件? cl.exe 是 MS C++ 编译器。请参阅有关其用法的链接。在 C# 中启动一个新进程,传递参数,瞧! @Mohammad “怎么样?” 就像@AndrejBratoz 说的那样。 【参考方案1】:

假设您有 VS 安装程序,您可以使用 cl.exe(MS C++ 编译器)编译您的 C++ 文件。

要从 C# 中执行此操作,您需要启动一个进程:

var proc = new Process();
proc.StartInfo.FileName = "cl.exe" // bear in mind you actually need the full path
proc.StartInfo.Arguments = "..." // that would be your cpp file and probably some switches
proc.Start();
proc.WaitForExit(); // call only if you would like that the program execution waits untill that process finishes

【讨论】:

我的 .cpp 文件在 D:\\a.cpp 中。我应该将什么作为参数传递给 proc。 请给我一个简短的回答。 适合初学者D:\\a.cpp 不起作用。错误:System.dll 中出现“System.ComponentModel.Win32Exception”类型的未处理异常附加信息:系统找不到指定的文件 不幸的是,我的帮助可能非常有限,因为我没有太多工作要做。调试是要走的路。

以上是关于用c#以编程方式编译生成的.cpp文件?的主要内容,如果未能解决你的问题,请参考以下文章

怎么运行cpp文件

使用vs2019如何只编译一个c++文件

编号的cpp文件怎么运行

使用 devenv 以编程方式清理解决方案

使用makefile以简单的方式编译c ++ 11程序

使用Visual Studio将C#生成DLL文件的方法