【发布时间】:2014-09-15 16:29:52
【问题描述】:
我正在使用 Visual Studio 2010 创建一个 DLL 文件,并且可以使用以下代码:
System.load("c:\\sharedFiles\\dll\\VisualDLL.dll");
现在我需要库是静态的,因为我无法在另一台机器上安装我在创建 DLL 时使用的其他库,所以我需要全部放在一个包中。将相同的代码编译到 lib 后,我的应用程序调用以下方法:
System.load("c:\\sharedFiles\\dll\\VisualDLL.lib");
但是在创建.LIB创建文件后出现如下错误用Visual Studio 2010运行应用程序出现:
c:\sharedFiles\dll\VisualDLL.dll: %1 不是有效的 Win32 应用程序
java 的版本是 1.7.09 64bits 和 Visual Studio 它正在编译为 64bit 机器目标。
发生了什么?我无法使用这种方法加载 lib 文件?
【问题讨论】:
-
(评论有点晚)好吧,
System.load所做的是动态加载。因此它只会加载动态库(Windows 中的 DLL)。
标签: java c++ visual-studio-2010 dll shared-libraries