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 に答える