前面一篇讲了用Java调用c++生成的dll文件的基本用法,然而实际使用时还会有许多变数,再次做一下补充
前期准备工作(包括相关工具或所使用的原料等)JDKVisual Studio 2010 编码的GBK不可映射字符
使用javac命令编译java文件时,有时候会报如下错误:编码的GBK不可映射字符。上网查了一下,是由于文件编码格式不对引起的,可以用记事本打开java文件,另存为ANSI编码的文件就行了。


VS建立非空工程时的注意事项
前面一篇建立VS项目是选择了win32的dll工程,并勾选了空项目,其实不勾选空项目(使用带有预编译头的项目)也是可以的,导出符号是也不是必选。

带每个cpp文件都要先包含stdafx.h这个头文件,然后才可以包含自己的头文件。因为系统会自动忽略先于stdafx.h包含的文件(具体原因见百度百科stdafx.h),出现下面这样的报错。
修改Eclipse库路径
刚开始的方法是我们把VS生成的dll文件复制到java目录下,但这样每改动一下程序就要复制粘贴,很影响调试效率。为了使开发过程中更加方便,我们只需把VS项目中dll所在的路径加到Eclipse的包含路径中即可。

在Eclipse中项目上点右键,选择Property->Java Build Path ->Source->Native Library Location ,再点击Edit。选择External Forder 就可以引用项目目录外的库文件,把dll文件的目录选进去就Ok了。WorkSpace选项用来选择工作空间内的库文件。

之后别忘了把之前拷贝到项目文件夹中dll文件删掉,否则可能会调用这个旧版本的dll。
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。作者声明:本教程系本人依照真实经历原创,未经许可,谢绝转载。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
