当前位置: 技术问答>java相关
jni中调用了MFC,我该如何...?
来源: 互联网 发布时间:2015-09-06
本文导语: jni中调用的MFC,象下面这样: #include #include "Jp_co_tokai_0005fsoft_common_CNativeFolder.h" #include #include #include // MFC 标准部分 #include // MFC 扩张部分 #include // MFC #include // MFC I...
jni中调用的MFC,象下面这样:
#include
#include "Jp_co_tokai_0005fsoft_common_CNativeFolder.h"
#include
#include
#include // MFC 标准部分
#include // MFC 扩张部分
#include // MFC
#include // MFC Internet Explorer 4相关
JNIEXPORT jstring JNICALL
Java_Jp_co_tokai_1soft_common_CNativeFolder_nGetWindowsFolder
(JNIEnv *env, jobject obj, jstring strr)
{
const char *str = env->GetStringUTFChars(strr, 0);
CString path = str;
path.Empty ();
if ( !GetWindowsDirectory ( path.GetBufferSetLength ( MAX_PATH ), MAX_PATH ) ) {
path.ReleaseBuffer ();
path.Empty ();
return NULL;
}
path.ReleaseBuffer ();
if ( path.IsEmpty () )
return NULL;
return env->NewStringUTF(path);
}
当我这样用时,在非WINDOWS机器,以及没有MFC的WINDOWS机器是不能用的吧!
所以,我想找到包含这些头文件的DLL,把他们同我的DLL一起打包,我不知道这样做是否可行
如果可行,我该怎样打包??
我刚刚学用JNI,水平底浅,还望指点迷津,不胜感激!!!
#include
#include "Jp_co_tokai_0005fsoft_common_CNativeFolder.h"
#include
#include
#include // MFC 标准部分
#include // MFC 扩张部分
#include // MFC
#include // MFC Internet Explorer 4相关
JNIEXPORT jstring JNICALL
Java_Jp_co_tokai_1soft_common_CNativeFolder_nGetWindowsFolder
(JNIEnv *env, jobject obj, jstring strr)
{
const char *str = env->GetStringUTFChars(strr, 0);
CString path = str;
path.Empty ();
if ( !GetWindowsDirectory ( path.GetBufferSetLength ( MAX_PATH ), MAX_PATH ) ) {
path.ReleaseBuffer ();
path.Empty ();
return NULL;
}
path.ReleaseBuffer ();
if ( path.IsEmpty () )
return NULL;
return env->NewStringUTF(path);
}
当我这样用时,在非WINDOWS机器,以及没有MFC的WINDOWS机器是不能用的吧!
所以,我想找到包含这些头文件的DLL,把他们同我的DLL一起打包,我不知道这样做是否可行
如果可行,我该怎样打包??
我刚刚学用JNI,水平底浅,还望指点迷津,不胜感激!!!
|
For windows system, just put the dll files in system32 system folder. Find a neat machine , try it.
For other OS ......, who knows?
For other OS ......, who knows?