Windows 7を使用して、「make」コマンドを使用しようとしましたが、「make」は内部コマンドまたは外部コマンドとして認識されません。
私はStart -> cmd -> run -> make
をしました。
'make'は、内部または外部のコマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
次に、「make」(Start -> cmd -> run -> mingw32-make
)ではなく「mingw32-make」と入力すると、同じ出力が得られます。
'mingw32-make'は、内部または外部のコマンド、操作可能なプログラム、またはバッチファイルとして認識されません。
この問題を解決するには、次に何をしなければなりませんか?
問題は、ほとんどの場合、シェルがmake
プログラムの場所を知らないことです。 「どこでも」から使用する場合は、これを行う必要があります。そうしないと、呼び出すたびに完全なパスを追加する必要があり、非常に面倒です。例えば:
"c:\program files\gnuwin32\bin\make.exe" option1=thisvalue option2=thatvalue
これは一例であり、XPではこのように見えていましたが、W7では言えません。しかし、 gnuwin32 は、Windows用の便利な「linux-world」パッケージを提供するために使用されます。プロバイダーの詳細を確認してください。
そのため、パスの入力を避けるために、PATH
環境変数にパスを追加できます。 これを簡単に見つけてください 。 OSによって登録されていることを確認するには、コンソールを開いて(cmd.exe
を実行)、$PATH
を入力するとデフォルトパスのリストが表示されます。 make
プログラムの場所がそこにあることを確認します。
Windows10では、「C:\ MinGW\bin」をPathに追加し、MinGW32-make not makeを使用して呼び出して、この問題を解決しました。
mingw32-make
パッケージがインストールされているかどうかを確認します。PATH
と入力して、フォルダーを探します。または、Windows 10でControl Panel\System and Security\System --> Advanced system settings --> Environment Variables --> System Variables
find Path
変数に移動し、Edit
を選択して、存在するかどうかを確認します。追加するだけではありません!mingwstartup.bat
を作成します。行doskey make=mingw32-make.exe
を内部に書き込み、保存して閉じます。regedit
を実行してレジストリエディターを開きます。説明したように here in HKEY_LOCAL_MACHINE
またはHKEY_CURRENT_USER
に移動して\Software\Microsoft\Command Processor
に移動し、右パネルNew --> Expandable String Value
を右クリックしてAutoRun
と名前を付けます。ダブルクリックして、値データとして.batファイルへのパスを入力します(例:"C:\MinGW\bin\mingwstartup.bat"
)。結果は次のようになります。これで、新しいターミナルを開くたびにmake
コマンドがmingw32-make.exe
を実行します。役に立てば幸いです。
Windows 8を使用しています。同じ問題が発生しました。 「C:\ MinGW\bin」というパスを「path」という名前のシステム環境変数に追加すると、機能しました。おそらく、同じことを試すことができます。それが役立つことを願っています!
'make'はUNIX/Linux用のコマンドです。その代わりに、MS Windowsで「nmake」コマンドを使用します。または、CYGWINのようなエミュレーターを使用した方がよいでしょう。
これは古い質問ですが、ここの答えはどれも、初心者がどれを選ぶかを選択するのに十分なコンテキストを提供しません。
make
とは何ですか?make
は、特定の目標を達成するために実行するプログラムを決定するためにMakefile
を読み取る従来のUnixユーティリティです。通常、その目標は単一のソフトウェアを構築することです。ただし、make
は、TeXソースファイルのコレクションからPDFをアセンブルしたり、Webページの各セットの最新バージョンを取得するなど、他のさまざまなタスクにも使用できるほど一般的です。
個々のターゲットに到達するためのステップをカプセル化することに加えて、make
は、すでに完了したステップを再実行することを回避することにより、処理時間を短縮します。これは、依存関係間のタイムスタンプを比較することにより行われます。 AがBに依存しているが、AがBよりも新しい場合、make A
は不要です。もちろん、これが正しく機能するためには、Makefile
がそのような依存関係をすべて文書化する必要があります。
A: B
commands to produce A from B
インデントはリテラルのタブ文字で構成する必要があることに注意してください。これは 初心者のよくある間違いです
make
の一般的なバージョン元のmake
はかなり歩行者でした。その系統は、今日までBSD make
に続いており、そこからnmake
が派生しています。大まかに言って、このバージョンはPOSIXで定義されたmake
機能を提供しますが、いくつかのマイナーな拡張とバリエーションがあります。
対照的に、GNU make
は 大幅に拡張 形式であり、GNU Makefile
が他のバージョン(または場合によってはGNU make
)。そのようなファイルをGNUmakefile
の代わりにMakefile
を呼び出す規則がありますが、この規則は、特にGNU make
がde facto標準make
。
Makefile
がGNUを使用することを示す証拠は、make
規則は、変数の割り当てに:=
の代わりに=
を使用することです(ただし、これはGNU機能だけではありません)および$(Shell ...)
、$(foreach ...)
、$(patsubst ...)
などのような多数の関数.
まあ、それは本当にあなたが達成したいものに依存します。
ビルドしたいソフトウェアにvcproj
ファイルなどがある場合は、おそらくmake
をまったく使用せずに、代わりにそれを使用する必要があります。
一般的なケースでは、MinGW make
はWindows用のGNU make
のWindowsポートです。通常、Makefile
をスローすることに対応する必要があります。
ソフトウェアがnmake
を使用するように作成されていて、既にインストール済みであるか、入手が容易な場合は、おそらくそれを使用してください。
ソフトウェアがWindows向けに作成されていない、またはWindowsに明示的に移植されていない場合、大幅な変更を加えずにコンパイルすることはほとんどありません。このシナリオでは、make
を実行することは問題の少なくとも1つであり、元のプラットフォームとWindowsの違いを十分に理解して、それを自分で実行できるようにする必要があります。
より詳細には、Makefile
にgrep
、curl
、またはyacc
などのUnixコマンドが含まれている場合、システムにもそれらのコマンドをインストールする必要があります。しかし、それとはまったく別に、異なるプラットフォーム用に作成されたCまたはC++(またはより一般的には、任意の言語のソースコード)は、Windowsではまったく動作しないか、期待どおり(多くの場合より悪い)動作しない可能性があります。
既にMinGWがWindows 7にインストールされている場合は、次の手順を実行するだけです。
C:\MinGW\bin\mingw32-make.exe
ファイルの別のコピーを作成します。mingw32-make.exe
からmake.exe
に変更します。上記の手順について、ラップトップでの動作をテストしました。
検索機能を使用してmake.exeを検索し、見つかったらファイルへの絶対パスを書き留めます。検索結果のファイル名を右クリックしてからプロパティを右クリックするか、場所フォルダーを開きます(正確な表現はわかりませんが、英語のロケールを使用していません)。
make
を入力する代わりにコマンドラインコンソール(cmd)を開くときは、パスと名前全体を入力します。 C:\Windows\System32\Java
(これはJava用です...)。
あるいは、毎回完全なパスを提供したくない場合は、次の可能性があります。
cd
をcmdレベルで使用して、C:\Windows\System32\
を現在の作業ディレクトリにします。C:\Windows\System32\
をPATH環境変数に追加します。参照:
他の回答がすでに示唆しているように、MinGW
をインストールする必要があります。追加部分は、次の2つのフォルダーをPATH
環境変数に追加することです。
明らかに、MinGWをインストールした場所に基づいてパスを調整します。また、新しいコマンドラインターミナルを開くことを忘れないでください。
windowsでcmakeの代わりにmingw32-makeを使用します
====== admin 2として 'cmd'を実行し、 'setx'を使用します===== setx scoop "C:\ Users \%username%\ scoop"/M
echo %scoop%
setx scoopApps "%scoop%\apps" /M
echo %scoopApps%
scoop install make
=======フェーズ3:makePath環境変数を作成する===
setx makePath "%scoopApps%/make" /M
echo %makePath%
setx makeBin "%makePath%/Bin" /M
echo %makeBin%
setx Path "%Path%;%makeBin%" /M
echo %Path%