我正在尝试弄清楚如何在运行时使用Windows下的Visual Studio编译器从可执行文件编译C ++代码。
我将使用Visual Studio IDE将主项目构建为可执行文件,并使用CreateProcess编译其他C ++文件并创建DLL以便以后加载/使用/卸载此DLL。
我知道这样做的一种方法需要设置环境变量(主要是PATH,INCLUDE和LIB),并且有一个名为“vcvarsall.bat”的.bat文件可以做到这一点。
我坚持的部分是传递给这个批处理文件的参数。我看到第一个参数是平台,其中一些选项是x86,amd64,arm等。但是我如何以编程方式确定我应该使用哪些参数考虑主要可执行文件可以使用任何一个构建这些?
答案 0 :(得分:1)
您可以为此目的准备一个常规解决方案,包含一个包含单个文件的项目,并使用它来轻松编译文件。
现在,您只需将文件重命名为项目中的文件名,然后使用命令行编译解决方案。或者,您也可以编辑项目并用文件名替换现有文件名。
为此,您需要解析环境变量%DevEnvDir%并使用平台名称(x64,win32等)和配置名称(发布或调试)运行folowing命令
像这样:%DevEnvDir%\devenv.com \path\to\yoursolution.sln /ReBuild "Release|x64"