3

我想在我的 java 项目中用 JNI 调用我的 C++ dll。但是有一个奇怪的错误:'UnsatisfiedLinkError: Invalid access to memory location'。我的环境是:Windows xp sp3,jdk 1.7.0_01(和jdk 1.6.23),vistual studio 2010。但我在win7(64位)中这样做(使用相同的项目和相同的jdk&vs2010)没有错误. 我用dependcy walker检查了dll,没有出现依赖错误。所以我很不解。我应该怎么办?

4

1 回答 1

1

我猜你试图在两种环境中使用相同的 DLL?如果是这种情况,您的 DLL 必须编译为 32 位 DLL,并且您必须在 Win7-64 上使用 32 位 JVM。您可能希望考虑同时发布 32 位和 64 位版本的 java 应用程序并动态加载适当的库。如果您确定没有 32/64 位冲突,请提供有关失败原因和方式的更多信息。

于 2013-12-03T22:49:06.170 回答