[過去ログ] 各種ライブラリ紹介スレ (990レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
632(1): 622 [sage] 04/11/05 19:43:50 ID:2493VGGW(1/4) AAS
>>626遅くなりましたけど最新版の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