.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を呼び出したいと思うかもしれませんか?