Java创建.dll文件

时间:2011-06-07 05:06:53

标签: java c++ dll java-native-interface

我想用java jni创建.dll。我的.cpp文件引用.dll的外部.lib。当我编译此文件(使用cl命令)时,我收到错误:

   LNK2019: unresolved external symbol "__declspec(dllimport) unsigned long __stdcall ConnectDevice(char const *, unsigned      long)" 
   (__imp_?ConnectDevice@@YGKPBDK@Z)... fatal error LNK1120: 1 unresolved externals

我可以从.cpp创建.dll,它使用另一个.lib& .dll文件?

1 个答案:

答案 0 :(得分:2)

是的,你可以。您可以直接链接到它,将其放入一个.c / .cpp文件中:

#pragma comment(lib,"libname")

或在命令行上指定lib(对于MSVC不常见),或在IDE选项中指定。

确保找到您的DLL更棘手。如果两个DLL都保存在同一个文件夹中,并且没有使用SetDllDirectory()(异常),则应该找到它。

有一些像Dependancy Walker(depends.exe)这样的工具可以帮助解决这些问题。或者Process Explorer(procexp)[请google]可以为每个进程显示加载的DLL(ctrl + d)。