如何使用system()函数(MSVC)编译c ++代码?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用system()函数(MSVC)编译c ++代码?相关的知识,希望对你有一定的参考价值。

我正在尝试使用c ++使用system()函数编译c ++文件。

void CodeGenerator::GenerateExe(ProgramNode* parsed_tree, std::string folder_path, std::string file_name)

    std::string cpp_name = folder_path + file_name + ".cpp";

    GenerateCppFile(parsed_tree, cpp_name);
    std::string command;
    command += "cl ";
    command += cpp_name + " /OUT ";
    command += folder_path;

    system(command.c_str());

我知道我可以在开发人员cmd中执行此操作,但是system()函数会打开常规的cmd,因此它无法识别“ cl”命令。

请告诉您如何打开开发人员cmd或如何设置环境以通过c ++编译代码。

答案

您可以通过将cl的路径添加到环境变量中来执行此操作:

这可以这样做:

  • 打开运行窗口,您可以通过在搜索中键入run来执行此操作。
  • 类型sysdm.cpl
  • 选择高级分隔符
  • 点击环境变量
  • 在系统变量中选择path,然后单击edit
  • 单击new,然后添加cl命令的路径。在我的情况下,cl.exe文件位于

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.24.28314\bin\Hostx64\x64

变化不大,但是您必须在计算机中使用正确的路径。

  • 此后,您必须打开一个新的cmd窗口,以便可以检测到更改并在计算机的任何位置运行cl命令。

以上是关于如何使用system()函数(MSVC)编译c ++代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 MSVC 在 C++ 中定义外部 C 结构返回函数?

如何使用 msvc 2019 编译 QT 4 dll?

如何验证编译时在 msvc 2010 c++ 项目中是不是正确设置了编译器选项?

cmake:解决MSVC下/MT 编译paho.mqtt.c的问题

g++ , msvc 2015,2017System: Windows

如何单独提取出MSVC2017编译器并在其他IDE使用