Command Line から DirectX を動かす

Command Line から DirectX の Program を作成する環境を設定します。

前田稔の超初心者のプログラム入門

プログラム環境の設定

  1. BAT FILE を使って Command Line から DirectX の Program を作成する環境を設定します。 (●^o^●)
    MS-DOS の時代にコマンド形式でコンパイルした経験がある方は、それと同じ要領です。 (^_^;)
  2. DX.BAT は、マシンの環境に依存するところがあるので注意が必要です。
    特に Version が変わると修正する必要があるかも知れません。
    私は vista & Visual Studio .NET2005 & DirectX August 2007 を使っていますが 2003 でも実行することが出来るようです。
    最初に DirectX のプログラムを格納する専用のフォルダーを作成します。
    私は C:\Data\Cpp\DirectX\ のフォルダーを作成しました。
  3. 環境変数を使ってコンパイルの環境を設定します。
    環境変数はコントロールパネルから設定することも出来るのですが、今回は BAT ファイルの中で設定します。
    環境変数の設定は 前田稔の超初心者のプログラム入門 から 「Java を動かす」を参照して下さい。
  4. コンパイルを行う BAT ファイル(DX.BAT)を作成して、C:\Data\Cpp\DirectX\ に格納します。
    BAT ファイルの中で設定する環境変数です。
    BAT ファイルの全ソースをページの後部に掲載しています。
  5. DirectX のサンプルソースは何でも良いのですが、C言語のように簡単には行きません。
    そこで「Hello World!」を表示するC言語のプログラム(Hello.cpp)で試して下さい。 (^_^;)
    Hello.cpp を DX.BAT ファイルと同じフォルダー(C:\Data\Cpp\DirectX) に格納して下さい。
    // Hello.cpp : メイン プログラム ファイルです。
    #include <stdio.h>
    
    int main()
    {
      printf("Hello World!\n");
      return 0;
    } 
    
  6. Hello.cpp をコンパイルして、テスト実行する手順は次のようになります。
    1. Command Prompt を起動します。
    2. 専用のフォルダーに移動します。
      Command Mode では大文字/小文字の区別はありません。
      C:\Users\maeda>cd C:\DATA\Cpp\DIRECTX
    3. DX.BAT を使って Hello.cpp をコンパイルします。
      ファイル名の最初の文字をタイプして Tab キーを押すとファイル名が補完されます。
      C:\DATA\Cpp\DIRECTX>DX.BAT Hello.cpp
    4. エラーが無ければコンパイルされて Hello.exe が作成されます。
      Hello.exe を実行します。
      コンソール画面に Hello World! と表示されたら完成です。
      C:\DATA\Cpp\DIRECTX>Hello.exe
    5. DIR コマンドで確かめたら解るように、ソースファイル(.cpp)と実行ファイル(.exe)の名前は同じ名前になります。
      またコンパイルするとフォルダーの中に幾つかのファイルが作成されます。
      これらのファイルは実行の確認ができたら不要なので整理しましょう。
    6. BATファイルや EXEファイルの拡張子は省略することが出来ます。
      C:\DATA\CLI>CLI.BAT Hello.cpp
      C:\DATA\CLI>CLI Hello.cpp

      C:\DATA\CLI>Hello.exe
      C:\DATA\CLI>Hello
  7. DX.BAT です。
    vista & Visual Studio .NET2005 & DirectX August 2007 を使ったときの設定です。
    REM  C++/CLI Mode DirectX [DX.BAT ソース.CPP]
    ECHO OFF
    PATH C:\Program Files\Microsoft Visual Studio 8\VC\BIN\;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\BIN\;C:\Program Files\Microsoft Visual Studio 8\Common7\IDE\
    SET LIB=C:\Program Files\Microsoft Visual Studio 8\VC\LIB\;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\LIB\;C:\Program Files\Microsoft DirectX SDK (August 2007)\Lib\x86\
    SET LIBPATH=C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\
    SET INCLUDE=C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\INCLUDE\;C:\Program Files\Microsoft DirectX SDK (August 2007)\Include\
    SET TMP=C:\Windows\Temp\
    CL /CLR %1 > %%ERR
    IF ERRORLEVEL 0  GOTO FIN
    ECHO  ★コンパイル・エラーがあります。★
    :FIN
    TYPE %%ERR
    
  8. 2011/9/10 Windwos7 & Visual Studio .NET2005 & DirectX November 2008 で再確認したときの DX.BAT です。
    これからも Windwos や DirectX のバージョンアップが繰り返されます。
    バージョンが変わると、どこが変わるのかを把握しておいて下さい。
    REM   C++/CLI Mode DirectX [DX.BAT ソース.CPP]
    ECHO OFF
    PATH C:\Program Files (x86)\Microsoft Visual Studio 8\VC\BIN\;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\BIN\;C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\IDE\
    SET LIB=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\LIB\;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\LIB\;C:\Program Files (x86)\Microsoft DirectX SDK (November 2008)\Lib\x86\
    SET LIBPATH=C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\
    SET INCLUDE=C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\;C:\Program Files (x86)\Microsoft Visual Studio 8\VC\PlatformSDK\INCLUDE\;C:\Program Files (x86)\Microsoft DirectX SDK (November 2008)\Include\
    SET TMP=C:\Windows\Temp\
    CL /CLR %1 > %%ERR
    IF ERRORLEVEL 0  GOTO FIN
    ECHO ★コンパイル・エラーがあります。★
    :FIN
    TYPE %%ERR
    
  9. Visual Studio のプロジェクトを使ったとき、次のエラーが発生しています。
    エラー 1 fatal error C1107: アセンブリ 'Microsoft.DirectX.dll' がみつかりませんでした: 
    /AI または LIBPATH 環境変数を使用してアセンブリ検索パスを指定してください。
    
    【対処の方法】
    プロジェクト・プロパティで[#using参照の解決]に LIBPATH で設定した文字列(パス)を指定して下さい。
    "C:\Windows\Microsoft.NET\DirectX for Managed Code\1.0.2902.0"
    詳細は DirectX の DLL を参照して下さい。
    DX.BAT を使っているときは、環境変数(LIBPATH)で設定しているパス及び、パスに格納されている DLL を確認して下さい。
  10. 実行時に次のエラーが発生することがあります。
    マネージ デバッグ アシスタント 'LoaderLock' では 'c:\data\Cpp\directx\11dxform\debug\DXForm.exe' に問題を検出しました。
    
    【対処の方法】
    メニューの【デバッグ → 例外】から、Managed Debugging AssistantsのLoaderLockの項目の[スローされるとき]のチェックを外します。
    詳細は ロックの解除 を参照して下さい。
  11. Command Line から C++/CLI プログラムをコンパイルする方法は Set UP を参照して下さい。
    C#でも DX.BAT を使ってコンパイルする方法を説明しています。
    「プログラム入門(C# Frame Work)」から Command Line から DirectX を参照して下さい。

超初心者のプログラム入門(C/C++)