【发布时间】:2017-10-05 08:40:25
【问题描述】:
对于我的 WINAPI 项目,我使用 atom IDE 和 c 编程,我可以从 cmd 提示符编译我的代码,直到我开始使用 .rc 文件。但是现在我在编译程序之前使用的是 rc 文件,我需要在 cmd 提示符下运行这些命令。
gcc -c jake.c
gcc -o jake jake.o -mwindows
windres -o jakerc.o jakerc.rc
gcc -o jake jake.o jakerc.o -mwindows
一遍又一遍地输入它们以查看我的程序是否每次都能正常工作真的很乏味。 (另外请不要告诉我使用 DEV c++ 或 Visual Studio 之类的 IDE,因为我不喜欢它们,因为我喜欢 atom。)
所以我想出了这个解决方案。我制作了一个名为compile.c 的额外文件,里面看起来像这样。
#include <stdio.h>
#include <stdlib.h>
int main() {
system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul gcc -c jake.c");
system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul gcc -o jake jake.o -mwindows");
system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul windres -o jakerc.o jakerc.rc");
system("C:\\Users\\hashtag\\Desktop\\rawsock\\kokul gcc -o jake jake.o jakerc.o -mwindows");
return 0;
}
当我编译并运行这个程序时,我得到了这个错误:
'C:\\Users\\hashtag\\Desktop\\rawsock\\kokul' is not recognized as an internal or external command,
operable program or batch file.
如何摆脱这个错误,以及如何在运行compile.exe 时自动编译我的文件?
【问题讨论】:
-
使用参数化批处理文件
-
你能把它展示出来以确认一下吗? @SebastianL
-
我看到两个选择:要么创建一个
.bat脚本文件,它会为您完成所有这些工作。或了解如何使用make、nmake或类似工具。 -
另外,第二个命令 (
gcc -o jake jake.o -mwindows) 没有任何意义,因为您在链接资源时会覆盖可执行文件。 -
如果您喜欢 Atom,请试一试Visual Studio Code。基本上是同一个编辑器,但也提供complete C++ programming support。您可以将编辑器配置为使用任何编译器。还附带调试器支持(如 GDB 或 LLDB)。都可以通过文本文件进行配置。
标签: c windows winapi cmd command-prompt