码迷,mamicode.com
首页 > 编程语言 > 详细

JAVA调用C++ dll文件之JNI接口研究——分布函数计算

时间:2014-08-14 13:44:31      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:http   java   io   文件   问题   div   html   时间   

分别对VS平台运行GNU库和JAVA调用VS2010 x64位系统做过一定研究,接下来将试图生成一个调用概率统计函数的dll,将其嵌入JAVA程序中运行。

当准备生成带有正态分布函数的dll文件时,出现如下错误:

1>     正在创建库 d:\documents\visual studio 2010\Projects\GetNrompdf\x64\Debug\GetNrompdf.lib 和对象 d:\documents\visual studio 2010\Projects\GetNrompdf\x64\Debug\GetNrompdf.exp

1>GetNrompdf.obj : error LNK2019: 无法解析的外部符号 __imp_gsl_ran_gaussian_pdf,该符号在函数 Java_cn_dfinder_test_GetNormpdf_normpdf 中被引用

1>d:\documents\visual studio 2010\Projects\GetNrompdf\x64\Debug\GetNrompdf.dll : fatal error LNK1120: 1 个无法解析的外部命令

1>

1>生成失败。

1>

1>已用时间 00:00:00.93

========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========

 

初步猜测是lib文件放错了位置,将所有的include文件和lib文件都重新拷贝一份,到

 

没能解决问题

加入下列依赖库

 

依旧没有解决问题。

 

 

 

经过无数次调整确认,在64位编译环境下,失败

32位编译环境下,dll成功。

 

1>     正在创建库 E:\VS2010Projects\GnuDllTest\x64\Debug\GnuDllTest.lib 和对象 E:\VS2010Projects\GnuDllTest\x64\Debug\GnuDllTest.exp

1>GnuDllTest.obj : error LNK2019: 无法解析的外部符号 gsl_ran_gaussian_pdf,该符号在函数 Java_cn_dfinder_test_GetNormpdf_normpdf 中被引用

1>E:\VS2010Projects\GnuDllTest\x64\Debug\GnuDllTest.dll : fatal error LNK1120: 1 个无法解析的外部命令

1>

1>生成失败。

 

怀疑与GNU系统自带的dll或者lib版本有关。需要重新编译一下他们的版本。

http://www.heybody.com/2013/09/call-32-dll-x86-in-x86-system.html

有点像我的情形。

JAVA调用C++ dll文件之JNI接口研究——分布函数计算,布布扣,bubuko.com

JAVA调用C++ dll文件之JNI接口研究——分布函数计算

标签:http   java   io   文件   问题   div   html   时间   

原文地址:http://www.cnblogs.com/DaLei/p/3912142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!