web-dev-qa-db-ja.com

Visual Studioでメイクファイルを使用する方法は?

メイクファイルと、それらがどのようにコンパイルプロセスを簡素化するかについて多くのことを聞きました。 VS2008を使用しています。誰かが私にそれらを扱う方法についての詳細を見つけることができるいくつかのオンライン参照や本を提案していただけますか?

61
chester89

UNIXの人はおそらくあなたに言ったでしょう。 :)

VSでメイクファイルを使用できますが、実行すると、MSVCのIDEのすべての組み込み機能がバイパスされます。メイクファイルは、基本的にビルダーのreinterpret_castです。 IMOの最も簡単なことは、ソリューションを使用することです。

21
John Dibling

Microsoftプログラムメンテナンスユーティリティ(NMAKE.EXE)は、記述ファイルに含まれるコマンドに基づいてプロジェクトをビルドするツールです。

NMAKEリファレンス

51

特定の質問に答えるには...

VS2008を使用しています。誰かが私にそれらを扱う方法についての詳細を見つけることができるいくつかのオンライン参照や本を提案していただけますか?

このリンクは、MakefileをVisual Studioにマッピングすることにより、Makefileの優れた紹介を提供します。

Visual Studio開発者向けのMakefileの紹介

メイクファイルと、それらがどのようにコンパイルプロセスを簡素化するかについて多くのことを聞きました。

Makefileは強力で柔軟性がありますが、プロセスを簡素化するための最適なソリューションではない場合があります。このリンクで説明されているビルドプロセスをうまく抽象化するCMakeを検討してください。

Visual Studio開発者向けCMake

14
ap-osd

実際にメイクファイルを使用して、次のようにdevenvを呼び出して特定のプロジェクトをビルドする前に必要な依存関係をビルドします。

debug: coratools_debug
    devenv coralib.vcproj /build debug

coratools_debug: nothing
    cd ../coratools
    nmake debug
    cd $(MAKEDIR)

Msbuildツールを使用して同じことを行うこともできます。

debug: coratools_debug
    msbuild coralib.vcxproj /p:Configuration=debug

coratools_debug: nothing
    cd ../coratools
    nmake debug
    cd $(MAKEDIR)

私の意見では、これは非常に複雑なビジュアルスタジオプロジェクト管理スキームを理解しようとするよりもはるかに簡単です。

7
Jon Trauntvein

メイクファイルに相当するVSは「解決策」です(私は知っています)。

4
Joel Coehoorn

メイクファイルとビルドファイルは、ビルドの自動化に関するものです。 MSBuildやNAntなどのスクリプトを使用する場合、コマンドラインから直接プロジェクトまたはソリューションをビルドできます。これにより、ビルドを自動化し、ビルドサーバーで実行できるようになります。

ソリューションの構築に加えて、ビルドスクリプトには、単体テストを実行するタスク、コードカバレッジと複雑さなどをレポートするタスクが含まれているのが一般的です。

2
mmiika

完全なソリューションで要約するには...

2つのオプションがあります。

  1. Visual Studioの開発者コマンドプロンプトからNMAKEを使用する

ショートカットは[スタート]メニューにあります。 makefileの中を見て、「セットアップ」アクションがあるかどうかを確認します。アクションはコロンの前の最初の単語として表示されます。通常、すべての適切なメイクファイルには「すべて」のアクションがあるため、次のように入力できます。

  1. バイナリごとにソリューションとプロジェクトファイルを作成します。

最も適切に設計されたオープンソースソリューションは、Visual Studioプロジェクトファイルを生成するためのセットアップアクションを備えたメイクファイルを提供するため、まずメイクファイルでそれらを探します。

それ以外の場合は、Visual Studio内で作成する各新規プロジェクトに各ファイルまたはファイルとフォルダーのグループをドラッグアンドドロップする必要があります。

お役に立てれば。

2
justdan23

実際のコマンドラインメイクファイルについて尋ねている場合は、メイクファイルをエクスポートするか、コマンドラインからソリューションファイルでMSBuildを呼び出すことができます。メイクファイルで正確に何をしたいですか?

詳細については、MSBuildのSOを検索してください。

1
Tim