【问题标题】:Compiling C++ files during runtime using Visual Studio compiler使用 Visual Studio 编译器在运行时编译 C++ 文件
【发布时间】:2017-09-06 13:53:30
【问题描述】:

我正在尝试弄清楚如何在运行时使用 Windows 下的 Visual Studio 编译器从可执行文件中编译 C++ 代码。

我将使用 Visual Studio IDE 将主项目构建为可执行文件,并使用 CreateProcess 编译其他 C++ 文件并创建 DLL 以供以后加载/使用/卸载此 DLL。

我知道这样做的一种方法需要设置环境变量(主要是 PATH、INCLUDE 和 LIB),并且有一个名为“vcvarsall.bat”的 .bat 文件可以执行此操作。

我坚持的部分是传递给这个批处理文件的参数。我看到第一个参数是平台,其中一些选项是 x86、amd64、arm 等。但是我如何以编程方式确定我应该使用这些参数中的哪一个,考虑到主可执行文件可以使用以下任何一个构建这些?

【问题讨论】:

    标签: visual-studio dll compilation


    【解决方案1】:

    您可以为此准备一个常规解决方案,其中包含一个带有单个文件的项目,并使用它轻松编译您的文件。

    现在,您只需将文件重命名为项目中的文件名,并使用命令行编译解决方案。或者,您也可以编辑项目并将现有文件名替换为您的文件名。

    为此,您需要解析环境变量 %DevEnvDir% 并使用平台名称(x64、win32 等)和配置名称(发布或调试)运行以下命令

    像这样:

    %DevEnvDir%\devenv.com \path\to\yoursolution.sln /ReBuild "Release|x64"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      • 1970-01-01
      • 2011-09-12
      相关资源
      最近更新 更多