MinGW GCC通配符编译所有文件(Windows)
MinGW GCC wildcard to compile all files (Windows)
我在Windows上使用MinGW GCC编译器, 我需要编译文件夹中的所有 c 文件!
我试过了
gcc *.c -o Output {folder Path}
我收到此错误
gcc: error: *.c: Invalid argument
gcc: fatal error: no input files
然后编译终止。
GCC 的使用版本是 4.7.1
gcc 不接受通配符 (*.c) 作为输入文件。
您可以编写一个脚本(batch@windows 或 .sh @Linux/Unix)来查找所有源文件并逐个编译它们。
但是您应该使用makefile或CMAKE来组织源代码及其构建系统。 请阅读此处
我正在做基本上相同的事情(即在带有C文件的Windows上使用MinGW GCC)。我对每个目录使用-g选项,我希望将其 .c/.h文件包含在编译中。
例如,如果我想编译myFolder目录中的所有内容,这对我有用:
gcc -g c:myFolder*.c -o foo.exe
注意:您可以在命令行上多次使用-g选项来包含多个目录。例如,我将.c/.h
文件整理到myFolder中的各种子文件夹中。所以要告诉gcc关于myFolder中的mySubdir,这就是我所做的:
gcc -g c:myFolder*.c -g c:myFoldermySubdir*.c -o foo.exe
请注意,对于我放在需要从父目录中的 C 文件引用的此类子目录中的任何.h文件,我必须使用#include
中的相对路径。
例如,要从位于 myFolder中的 C 文件中引用位于myFolder/subDir中的foo.h,我这样做:
#include "mySubdir/foo.h"
基本上就是这样。
现在,为了完整起见,如果您碰巧像我一样使用 VSCode 进行 C 工作(这不一定是最佳的,但还可以),那么您可以在 .vscode/tasks.json中调整此设置,分别指定每个-g
选项,例如:
"command": "C:\msys64\mingw64\bin\gcc.exe",
"args": [
"-g",
"${fileDirname}/*.c",
"-g",
"${fileDirname}/mySubdir/*.c",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe"
],
(我的 GCC 版本是 10.3.0)
相关文章:
- C++ Windows 驱动程序MSB3030无法复制该文件,因为它找不到
- 如何加载(或映射)文件部分的最大大小,但适合在Windows上的RAM
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- c++17文件系统::recursive_directory迭代器()在mac上没有给出这样的目录,但在windows上
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- 从存储为 Windows 资源 (c++) 的 png 中获取 png 文件数据
- vcruntime.h 从 Windows 包含文件夹中丢失?
- 在Linux上使用Clang / OLLVM交叉编译helloworld Windows可执行文件时的问题
- 如何在Windows内核中获取文件大小
- Qt自动生成的.rc文件无法打开包含文件'windows.h'
- MinGW GCC通配符编译所有文件(Windows)
- QTCreator G .EXE:致命错误:无输入文件(Windows)
- 切割和粘贴后监视文件(Windows shell扩展?)
- 如何读取目录中包含的所有文件 (WINDOWS)
- WebCam预览和捕获到文件(Windows)
- 从 c++ 中的当前目录复制文件(Windows API)
- 我可以将一个可执行文件与另一个可执行文件(Windows 服务程序)组合在一起,并将该程序作为逻辑服务运行吗?
- C++锁定文件Windows阻止模式
- 正在将明文AES 128密钥导出到缓冲区/文件Windows Crypto API c++
- 有效删除文件Windows c++