如何使用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 2010 c++ 项目中是不是正确设置了编译器选项?
cmake:解决MSVC下/MT 编译paho.mqtt.c的问题