使用Visual Studio链接错误以构建JNI dll

时间:2015-01-20 14:58:21

标签: c++ visual-studio-2010 dll linker

我是一名java程序员,请原谅我对C ++世界的了解。我正在尝试为我的项目中的JNI构建一个DLL;其中DLL引用了其他两个可用.dll.lib个文件的dll。

我搜索过,似乎我需要将.lib文件包含在"其他库目录"而我这样做了;我还将文件夹(容器.lib.dll文件)添加到"库目录"在项目属性中的VC ++目录项下。但是当我构建项目时,我仍然收到来自链接器的警告,说无法找到函数实现。

一个示例项目包含在DLL提供程序中,它是一个win32 exe,它们只需在项目中包含lib文件而不添加任何目录就可以成功构建;所以我试着这样做,但它仍然没有用。

我检查了链接器的命令行如下。请有人帮助我解决这个问题。

/OUT:"F:\Projects\hf\MyProject\x64\Debug\MyProject.dll" /MANIFEST /NXCOMPAT /PDB:"F:\Projects\MyProject\x64\Debug\MyProject.pdb" /DYNAMICBASE "kernel32.lib" "user32.lib" "gdi32.lib" "winspool.lib" "comdlg32.lib" "advapi32.lib" "shell32.lib" "ole32.lib" "oleaut32.lib" "uuid.lib" "odbc32.lib" "odbccp32.lib" /IMPLIB:"F:\Projects\MyProject\x64\Debug\MyProject.lib" /DEBUG /DLL /MACHINE:X64 /INCREMENTAL /PGD:"F:\Projects\MyProject\x64\Debug\MyProject.pgd" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /ManifestFile:"x64\Debug\MyProject.dll.intermediate.manifest" /ERRORREPORT:PROMPT /NOLOGO /LIBPATH:"RelativePathToLibFolder\customLib.lib" /LIBPATH:"RelativePathToLibFolder\customLib.lib" /TLBID:1 

1 个答案:

答案 0 :(得分:1)

右。仅供参考 - 我发现了这个问题。这是因为dll是win32 dll,但我已将构建配置设置为x64。只是错误消息可能更好,微软......