0

在 .bat 文件中,我正在使用以下行执行编译器

cl -GL -Od -Zi <all .h files> <all .c files>

但我不知道如何以这种方式引用所有 .c 和 .h 文件。我在想 * / .c 和 * / .h,但这两个都是无效的参数。有什么办法可以以这种方式引用所有 .c 和 .h 文件?

4

1 回答 1

0

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?

于 2012-07-13T04:43:41.337 回答