Page Top

ライセンス anchor.png Edit

[[Public Domain>Wikipedia:パブリックドメイン]]

Page Top

インストール anchor.png Edit

Page Top

手動インストール anchor.png Edit

  1. 必要なもの
    trunk_win32-rXXX.zip
    XXXの部分はリポジトリのリビジョンです。最新のもので良いでしょう。公式ページからダウンロードします。download a snapshot of latest revision in SVN (.zip)です。
    もちろん、svnのリポジトリをチェックアウトしてもOKです。
    svn co http://svn.dsource.org/projects/bindings/trunk/win32 win32

    GNU Make
    SourceforgeのMinGWのmakeからダウンロードしましょう。最新のものでいいと思います。mingw32-make-3.81-20080326-3.tar.gzなど。既に持っている場合は不要。

  2. trunk_win32-rXXX.zipを解凍します。
    • <解凍先>/trunk/win32というフォルダが解凍されます。

  3. mingw32-make.exeをgmake.exeとでも名前を変えてdmd.exeと同じフォルダか、<解凍先>trunk/win32の中に放り込みましょう。もちろん、すでにGNU Makeを使用しているのであればこの作業は不要です。
  4. ソースコードの修正 そのままコンパイルするとエラーが発生するため、いくつかコードを修正する必要があります
    1. makefile 25行目、importの設定のため、 -I.. をつけて正しくimportされるようにする必要があります。
      	$(DC) -I.. $^ -lib -of$@ $(DFLAGS)
    2. rpcnsi.d
      昔は引数にinoutを使うことができましたが、今はrefを使います。
      54行目のinoutをrefに直しましょう。
          //RPC_STATUS RpcNsEntryObjectInqDone(inout RPC_NS_HANDLE*);
          RPC_STATUS RpcNsEntryObjectInqDone(ref RPC_NS_HANDLE*);
    3. winsock2.d
      同様にinoutをrefに変更します
      136行目にinoutが存在するので、書き換えましょう。
      //void timerclear(inout TIMEVAL tvp) {
      void timerclear(ref TIMEVAL tvp) {
          tvp.tv_sec = tvp.tv_usec = 0;
      }
    4. winldap.d
      昔はデフォルトでprintfが使えましたが、今は使えません。したがって、使えるようにしてやる必要があります。具体的には
      private extern (C) int printf(in char* format, ...);
      の一行を ldap_perror 関数の上あたりに追加すればよいでしょう。
    5. directx/d3d10effect.d
      enumの前方参照でエラーのツッコミを受けます。 以下の3行を削除しましょう。
      // some forward references...
      enum D3D10_SHADER_VARIABLE_CLASS;
      enum D3D10_SHADER_VARIABLE_TYPE;
    6. directx/d3d10shader.d
      enumの前方参照でエラーのツッコミを受けます。 以下の3行を削除しましょう。
      // some forward references...
      enum D3D10_PRIMITIVE_TOPOLOGY;
      enum D3D10_SRV_DIMENSION;
    7. directx/d3d10.d
      enumの前方参照でエラーを回避するために、importの位置を変更する必要があります。(dmdのバグかなぁ) 具体的には、以下の2つのimport文を、ファイルの末尾(IID_ID3D10Multithreadの宣言の下)に持っていきます。
      public import win32.directx.d3d10shader;
      public import win32.directx.d3d10effect;
      また、定義のミスも修正します。1120行付近の、ClearRenderTargetViewの引数が間違っているので修正します。
      //void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLOAT[4] ColorRGBA);
      void ClearRenderTargetView(ID3D10RenderTargetView pRenderTargetView, FLOAT[4]* ColorRGBA);
  5. コンパイルします。<解凍先>/trunk/win32 にて、以下ののコマンドを実行してwin32.libを作成しましょう。
    1
    
    gmake
    注意点としては、 dmd.exe にパスが通っていなければなりません。
    Pathの通し方を参考にするとよいと思います。
  6. その後、gmake.exeは削除して構いません。
  7. <解凍先>/trunk/win32 のフォルダを <dmd_dir>/import/win32 や <dmd_dir>/src/win32 など、importディレクトリに放り込みましょう。
    わかりやすいところで、object.diがあるところなどが良いかもしれません。
  8. 以上です。
Page Top

dsssでのインストール anchor.png Edit

dsssには現在対応していません

Page Top

使用方法 anchor.png Edit

win32.libを使用します。

HowTo​/スタティックリンクライブラリを使う

Page Top

逆リンク anchor.png Edit

Page Top

投票とコメント anchor.png Edit

Choices Vote
大変参考になった3  
参考になった0  
あまり参考にならなかった0  
まったく参考にならなかった0  

No comment. コメント​/Libraries​/Bindings for the Windows APIEdit

Name:

Front page   Edit Freeze Diff Backup Upload Copy Rename ReloadPrint View   New Page Page list Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom) Powered by xpWiki
Counter: 1999, today: 1, yesterday: 1
Princeps date: 2010-02-03 (Wed) 23:14:32
Last-modified: 2010-02-03 (Wed) 23:14:32 (JST) (3957d) by SHOO
メインメニュー

ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録

Menu