6

突然、ワイルドカードベースのファイル名を使用しているときに、Windows (特に 10) のコマンドラインから C++ プログラム (特に TDM64 5.1.0) をコンパイルするのに苦労しているようです。名前が完全に指定されている場合は正常に機能します。私はこれまで何度も問題なくこれを行ってきました編集:しかし、通常はWindowsではそうではありません...以前のこの作業の私の記憶はfalseでなければなりません。私は何が欠けていますか?

C:\Users\Duncan Coulter\Code>dir *.cpp
 Volume in drive C has no label.
 Volume Serial Number is 9EE6-DBBD

 Directory of C:\Users\Duncan Coulter\Code

2016/04/04  01:35 PM             7 869 LittleMan.cpp
2016/04/04  01:35 PM             1 912 main.cpp
               2 File(s)          9 781 bytes
               0 Dir(s)  90 288 394 240 bytes free

C:\Users\Duncan Coulter\Code>g++ *.cpp
g++: error: *.cpp: Invalid argument

C:\Users\Duncan Coulter\Code>g++ main.cpp LittleMan.cpp
4

2 に答える 2

5

あなたの問題はあなたが書くところです:

g++ *.cpp

g++は Linux スタイルのプログラムであり、シェルがワイルドカードを展開することを期待しています。Windows コマンド シェルはそれを行いません。個々のプログラムがワイルドカードを展開することを想定しています。

最も簡単な解決策は、ワイルドカードを展開する cygwin をダウンロードすることです。それ以外の場合は、この質問への回答が役立つ場合があります。

https://superuser.com/questions/460598/is-there-any-way-to-get-the-windows-cmd-shell-to-expand-wildcard-paths

于 2016-04-11T11:09:28.193 に答える