web-dev-qa-db-ja.com

MinGWを使用してメイクファイルをコンパイルする方法は?

私はこれが初めてです。メイクファイルのコンパイル方法を尋ねたかっただけです。 C言語でMinGWコンパイラを使用しています。すべてのファイルをMinGW\binに保存する必要がありますか?現在、私のファイルは別のディレクトリにあるからです。

ヘルプに感謝します。

41
AAA

http://www.mingw.org/wiki/FAQ からの抜粋:

Makeとmingw32-makeの違いは何ですか?

Makeの「ネイティブ」(つまり、MSVCRT依存)ポートには、一部の機能が不足しており、Win32でのPOSIXの不足により機能が変更されています。 MSYSディストリビューションには、MSYSランタイムに依存するmakeのバージョンもあります。このポートは、makeが動作することを意図していたため、より多く動作し、実行中の頭痛が少なくなります。これに基づいて、MinGWの開発者/保守者/パッケージャは、「ネイティブ」バージョンとMSYSバージョンの両方がファイル名の衝突なしに同時に存在できるように、ネイティブバージョンの名前を変更することが最善であると判断しました。

だから、C:\ MinGW\binディレクトリを見て、最初に何が実行可能かを確認し、インストールしてください(make.exeまたはmingw32-make.exe)

MinGWを使用する前に、C:\ MinGW\binを追加する必要があります。 http://www.mingw.org/wiki/Getting_Started/ で説明されている手順を使用して、PATH環境変数に

次に、makefileがあるディレクトリにcdし、mingw32-make.exe makefile.inまたは単にmake.exe makefile.in(C:\ MinGW\binの実行可能ファイルに依存)を使用してみます。

GUIベースのソリューションが必要な場合は、DevCPP IDEをインストールしてから再作成してください。

32
askmish

Make.exeを取得するには、MSYSのインストールを積極的に選択する必要があります。したがって、MinGWが適切にインストールされている場合は、少なくとも(ネイティブの)mingw32-make.exeが必要です。そして、MSYSをインストールした場合、make.exeが(おそらくMSYSサブフォルダーに)あります。

多くのプロジェクトでは、最初にmakefileを作成する必要があり(たとえば、configureスクリプトまたはautomake .amファイルを使用)、MSYSまたはcygwinを必要とするのはこのステップです。なぜネイティブメイクを配布するのが面倒なのか不思議に思うでしょう。

メイクファイルを取得した後、ネイティブ実行可能ファイルがMSYSのメイクとは異なるパス区切り文字を必要とするかどうかは不明です(スラッシュとバックスラッシュ)。自動生成されたmakefileはすべて、unixスタイルのパスを持つ可能性が高く、ネイティブmakeがそれらを処理できると仮定すると、コンパイルされた出力は同じになります。

8
jiggunjer

Automakeとautoconfについて学んでください。

Makefile.amはautomakeによって処理され、ソースをビルドするためにmakeによって処理されるMakefileを生成します。

http://www.gnu.org/software/automake/

0
lu_zero