ホームへ戻る

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);
}


続いて「DxJava.cpp」を開き、以下のように記述します。


#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 -