如何使用.bat编译一个目录下所有的.c文件到.o文件并生成可执行程序
2023年09月26日19时58分 - 阅读243
使用.bat,来编译一个目录下的所有.c文件到指定输出目录中的.o文件。
编译器是gcc,已经配置到了操作系统的环境变量中。以下是脚本:
@echo off
REM 设置源文件目录、OBJ输出目录、可执行文件位置
set SRC_DIR=相对路径\\源文件目录
set OBJ_DIR=相对路径\\OBJ输出目录
set EXE_NAME=相对路径\\可执行文件名称
REM 设置编译过程和链接过程中,所需要用到的库的参数
set OBJ_LIBS=-finput-charset=UTF-8 -fexec-charset=GBK -D FREEGLUT_STATIC -I"【mingw目录】\\include"
set EXE_LIBS=-L"【mingw目录】\\lib" -lfreeglut_static -lopengl32 -lwinmm -lgdi32 -lglu32 -Wl,--subsystem,windows
REM 创建输入目录(如果目录不存在)
mkdir "%output_dir%"
REM 生成OBJ目标文件
for %%f in (%SRC_DIR%\\*.c) do (
echo Compiling %%~nf.c...
gcc -c -o %OBJ_DIR%\\%%~nf.o %%f %OBJ_LIBS%
)
REM 开始链接,生成可执行文件
echo Linking %EXE_NAME%...
gcc -o %OBJ_DIR%\\%EXE_NAME% %OBJ_DIR%\\*.o %EXE_LIBS%
echo Done!
REM 执行刚生成的文件
.\\build\\bin\\program.exe
pause
注意:以上的字符要正确,有些地方,如=等号两侧,不应该有空格的。
相关文章