gpt4 book ai didi

c++ - 如何在 QT 或 VS2010 应用程序执行期间编译程序?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:00:35 24 4
gpt4 key购买 nike

我目前正在开发一个小型评分应用程序(用于 C++ 类(class)),它将编译学生的 .cpp 文件并将输出与母版进行比较。我正在使用 QT Creator 来开发 UI 和后端组件(包括一些 SQLite 集成),并且我一直在努力寻找一种自动和离散地编译文件的方法。

我最初在 VS2010 中开发了一个使用 VS 命令行编译器的小应用程序 - 它可以工作,但只能在 Debug模式下(当程序从 cmd.exe 中执行时)。当我移动到 Release 时,无法识别编译命令(“cl”)。这是一个小代码段:

int main()
{
system("vcvarsall.bat"); // To set up VS Command Prompt environment
_putenv("INCLUDE=<my include paths>"); // Include paths for compilation
_putenv("LIB=<my lib paths>"); // Include paths for linking
system("cl /EHsc \"Student1.cpp"); // Compilation code
return 0;
}

在 Release 中执行时,“cl”和“cl.exe”都不会被识别为命令。我正在 QT 应用程序中将此程序的变体作为 .exe 文件执行,将文件名传递给此函数,因此它需要采用 Release 形式。如何在此应用程序中使用命令行编译器?

谢谢!

最佳答案

我没有教学背景,但我的第一个建议是让您的学生提供一个 makefile。 NMake是VC的系统,所以你可以试试。

如果您仍想使用自己的代码进行编译,我建议您使用 SCons 而不是控制台应用程序。 SCons 和 Python 是免费的并且非常容易设置。您的示例变为:

Program(target='Student1App', source=['Student1.cpp'])

如果您愿意,您可以从 C++ 应用程序中调用 scons,在调用之后,假设没有构建错误,可执行文件将可用。

关于c++ - 如何在 QT 或 VS2010 应用程序执行期间编译程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8161147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com