我想用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?
发布于 2011-06-07 13:11:18
可以,停那儿吧。您可以通过将以下内容放入您的.c/.cpp文件之一来直接链接到它:
#pragma comment(lib,"libname")或者在命令行上指定lib (不适用于MSVC),或者在IDE选项中指定lib。
更棘手的是确保您的DLL被找到。如果两个DLL都保存在同一个文件夹中,并且没有使用SetDllDirectory() (不常见),那么应该可以找到它。
有像Dependancy Walker (depends.exe)这样的工具可以帮助解决这些问题。或者进程资源管理器(procexp),请谷歌,这可以显示为每个进程的动态链接库加载(ctrl+d那里)。
https://stackoverflow.com/questions/6260798
复制相似问题