[過去ログ] 各種ライブラリ紹介スレ (990レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
632
(1): 622 [sage] 04/11/05 19:43:50 ID:2493VGGW(1/4) AAS
>>626
626(1): 名前は開発中のものです。 [sage] 04/11/01 19:16:22 ID:OrC2oWnr(1) AAS
>622
やり方plz
遅くなりましたけど最新版のLuna for DX9.0cで動作確認しました。

GCC ライブラリのコンパイル手順はこんな感じです。

a. まずは DirectX 9.0c 用のライブラリをインストール

 1. 古い DirectX ライブラリではビルドできないので削除
  (/mingw/include および /mingw/lib を検索)

 2. DirectX 9.0c ライブラリをインストール
  外部リンク:www.g-productions.net
  DirectX90.DevPak, DirectX90b.DevPak, DirectX90c.DevPak の3つ。
  DevC++ ならそのままインストールできると思われ。MinGW, Cygwin は
  展開して include, lib, DLL の内容を適宜コピー。

 このライブラリでビルドした DirectX9 アプリケーションは
 実行時に同梱のDLLが必要になります。
633: 622 [sage] 04/11/05 19:55:53 ID:2493VGGW(2/4) AAS
b. Luna ライブラリのコンパイル

 1. ソースコードをダウンロード
  外部リンク:www.twin-tail.jp
  luna_dx9_src.zip, luna_dx9_msvc.zip

 2. luna_dx9_src.zip を展開して Source のファイルを少し修正
  Source/Luna.h, Source/Luna.cpp
   WINAPI を int WINAPI に変更
  Source/LunaBase.h
   #pragma を削除
   #include <winnls32.h> を削除
  Source/LunaModelSub.h
   ~CModelAlloc() {} を virtual ~CModelAlloc() {} に変更
  Source/LunaSystem.cpp
   ::WINNLSEnableIME( NULL, Flag ); を以下のように変更
   HWND hIMEWnd = ::ImmGetDefaultIMEWnd( Luna::GetWindowHandle());
   ::SendMessage( hIMEWnd, WM_IME_CONTROL, (Flag != FALSE) ? IMC_OPENSTATUSWINDOW : IMC_CLOSESTATUSWINDOW, 0);

  Source ディレクトリの全ての *.cpp ファイルをコンパイルしてビルド
634: 622 [sage] 04/11/05 20:00:12 ID:2493VGGW(3/4) AAS
 3. ソースコードの CP932 エンコードは一部が ASCII コードと
  重なるおそれがあるためコード変換が必要

  CP932 をそのままコンパイルできる GCC なら, このステップは
  省略可です。(-finput-charset=cp932 は不可です)

  i. 文字定数および文字列リテラルの CP932 マルチバイト文字を
   拡張表記(エスケープシーケンス)に変換

  ii. iconv などを使用して utf-8 エンコードに変換

 4. コンパイルオプションに MS-Windows シンボル定義を追加
  -DWINVER=0x0410 -D_WIN32_WINDOWS=0x0410 -D_WIN32_IE=0x0400
  最適化や警告オプション (-march -O -W) はお好みで

 5. 2〜3 で変換したソースファイル群を g++ でコンパイル
  気になる警告があれば 2. に戻って適宜修正
635: 622 [sage] 04/11/05 20:11:59 ID:2493VGGW(4/4) AAS
 6. ar.exe で 5. でコンパイルしてできたオブジェクトファイルを
  まとめて libLuna.a ライブラリを生成します。

 7. luna_dx9_msvc.zip から Luna.h をコピー、GCC 用に修正します。

  ・#pragma を削除
  ・WINAPI WinMain, WINAPI Boot を int WINAPI 〜 に変更
  ・#include <winnls32.h> を削除
  ・~CModelAlloc() {} を virtual ~CModelAlloc() {} に変更
  ・b.3 の方法で CP932 から utf-8 に変換

 以上です。libLuna.a と Luna.h を使います。

 サンプルソース sample_all.zip は以下を除いて動作確認
・3DEX_15 (問題が発生したためダイアログで落ち)
・3DEX_21 (Initialize Direct3D Device ->Sprite Ex Manager で停止)
・Movie_00 (動画しながら落ち Movie_01.exe はOK)
・Network_00〜01 (ネットワーククラス初期化に失敗ダイアログ)
・Sound_01 (再生時に落ち Ayame.dll 動的リンクに難あり?)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.593s