1

それぞれ独自のサブディレクトリに多数の C++ プログラムがあります。各サブディレクトリには、いくつかのファイル (各クラスの .h ファイルと .cpp ファイル、およびメインの .cpp プログラム) に 1 つの C++ プログラムがあります。実行可能ファイルを対応するサブディレクトリに配置して、各プログラムをコンパイルしたいと思います。(また、各プログラムを実行し、その出力を対応するサブディレクトリに配置されたファイルにリダイレクトしたいのですが、コンパイルを機能させることができれば、この部分を理解するのに問題はないはずです。)

UNIX システムで bash シェルを使用しています (実際には、Windows 上で動作する UNIX エミュレータ Cygwin です)。

現在のディレクトリで1ファイルのプログラムをコンパイルするための短いスクリプトをWebで見つけることができましたが、それは私が得た限りです。そのスクリプトは次のとおりです。

for f in *.cpp;
   do g++ -Wall -O2 "$f" -o "{f/.cpp/}";
done;

誰かが私を助けてくれることを本当に感謝しています。このタスクは、平均して 2 週間に 1 回行う必要があります (8 週間連続で、その後 8 週間ではないなど)。

4

2 に答える 2

0

直下のすべてのサブディレクトリがすべて C++ プログラムであるディレクトリがあると仮定すると、これにいくつかのバリエーションを使用できます...

for D in */; do cd "$D";
    # then either call make or call your g++ 
    # with whatever arguments in here
    # or nest that script you found online if it seems to
    # be doing the trick for you.
    cd ../;
done;

それは各ディレクトリに移動し、そのことを(あなたがしたいことは何でも)してから、元に戻ります。

于 2013-07-17T05:04:50.793 に答える