2.2 DXライブラリをjniで使えるようにdll化する
まず下準備をします。
どこでもいいのでDXライブラリ本体を保存しておきます。
DXライブラリのダウンロードページから
http://homepage2.nifty.com/natupaji/DxLib/dxdload.html
DXライブラリをダウンロードして解凍したら、適当な場所に退避します。
ここでは「C:\Libs\DxLib」にフォルダを作り、DXライブラリの「プロジェクトに追加すべきファイル_VC用」の中身をコピーしました。
ではVisualStudioを立ち上げます。
VisualStudioの「新規作成」> 「プロジェクト」を選択
名前は何でもいいですが、ここでは「DxJava」としました。
Win32コンソールアプリを選んで「OK」
「DLL」を選んで「完了」
プロジェクト名を右クリックして「プロパティ」
「構成(C):」を「全ての構成」にし
「構成プロパティ」>「全般」で > 「文字セット」を >「マルチ バイト文字セットを使用する」に変更
「構成プロパティ」>「C/C++」>「全般」で >「追加のインクルードディレクトリ」に以下の3つを追加
「構成プロパティ」>「リンカー」>「全般」の >「追加のライブラリ ディレクトリ」に「C:\Libs\DxLib」を追加
「適用」ボタンを押下
「構成(C):」を「Debug」に変更
「構成プロパティ」>「C/C++」>「コード生成」の > 「ランタイム ライブラリ」を >「マルチスレッドデバッグ」に変更
「適用」ボタンを押下
「構成(C):」を「Release」に変更
「構成プロパティ」>「C/C++」>「コード生成」の > 「ランタイム ライブラリ」を >「マルチスレッド」に変更
「OK」ボタンを押下
ここまでで、プロパティの設定は終わりです。
続いてソリューションエクスプローラーの「ヘッダーファイル」を右クリックし、「追加」>「新しい項目」で
「DxJava.h」のヘッダファイルを新規追加。そのヘッダファイルには以下のように記述します。
#include "jni.h" extern "C" { JNIEXPORT jint JNICALL Java_net_dixq_dxjava_libs_DxJava_DxLibInit(JNIEnv *, jobject); JNIEXPORT jint JNICALL Java_net_dixq_dxjava_libs_DxJava_DxLibEnd (JNIEnv *, jobject); }
#include "stdafx.h" #include "DxJava.h" #include <DxLib.h> JNIEXPORT jint JNICALL Java_net_dixq_dxjava_libs_DxJava_DxLibInit(JNIEnv *env,jobject obj ){ return DxLib_Init(); } JNIEXPORT jint JNICALL Java_net_dixq_dxjava_libs_DxJava_DxLibEnd(JNIEnv *env,jobject obj ){ return DxLib_End(); }
ここまでできたら後は「Release」ビルドに変更し、
「ビルド」>「ソリューションのリビルド」を選択します。すると、Releaseフォルダにdllが出来上がります。
Portions of this page are modifications
based on work created and shared by Google and used according to terms
described in the Creative Commons 3.0 Attribution License.
- Remical Soft -