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 -