在 .bat 文件中,我正在使用以下行执行编译器
cl -GL -Od -Zi <all .h files> <all .c files>
但我不知道如何以这种方式引用所有 .c 和 .h 文件。我在想 * / .c 和 * / .h,但这两个都是无效的参数。有什么办法可以以这种方式引用所有 .c 和 .h 文件?
在 .bat 文件中,我正在使用以下行执行编译器
cl -GL -Od -Zi <all .h files> <all .c files>
但我不知道如何以这种方式引用所有 .c 和 .h 文件。我在想 * / .c 和 * / .h,但这两个都是无效的参数。有什么办法可以以这种方式引用所有 .c 和 .h 文件?
cl 不允许您这样做,但是如果您想从某个点开始编译每个文件夹中的所有 C 文件,那么您可以执行以下操作。
请注意,使用这些命令选项也不能传入头文件。
@echo off
set USAGE=Usage: %~n0 "C:\Existent Start Dir"
if %1xx == xx ( echo %USAGE% & exit /b 2 )
if not exist "%~1" ( echo %USAGE% & exit /b 1 )
for /r "%~dpn1" %%f in (.) do (
pushd %%f
if exist *.c (
echo *** Compiling C files in %%f ***
call cl -GL -Od -Zi *.c
echo.
)
popd
)
使用以下方法进行测试:
test.cmd C:\mytest
如果 C:\mytest 包含几个简单的 *.c 和 *.h 文件的文件夹,这将起作用。
test.cmd C:\mytest
您可能真的想要调用 nmake?