c++ - 使用 Visual Studio 构建 JNI dll 时出现链接错误

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

我是一名 Java 程序员,请原谅我对 C++ 世界的了解。我正在尝试为我的项目中的 JNI 内容构建一个 DLL;其中 DLL 引用另外 2 个具有 .dll.lib 文件的 dll。

我搜索了一下,似乎我需要将 .lib 文件包含在“附加库目录”中,我这样做了;此外,我将文件夹(包含 .lib.dll 文件)添加到项目属性中 VC++ Directories 项下的“Library Directories”。但是当我构建项目时,我仍然收到链接器的警告,说找不到函数实现。

示例项目包含在 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 

最佳答案

没错。仅供引用 - 我发现了这个问题。这是因为 dll 是 win32 dll,但我已将构建配置设置为 x64。错误消息可能会更好,Microsoft ...

关于c++ - 使用 Visual Studio 构建 JNI dll 时出现链接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28048479/

相关文章:

c++ - 当我输入 3 个偶数时,它显示我输入 4

c++ - 重新插入Eigen库的稀疏矩阵

c++ - 通过 .def 文件在 Linux 上 Hook 函数

.net - 嵌入互操作类型时引用 SQLiteCommand 类无效

c++ - 避免在 C++ 中使用默认构造函数进行初始化

c++ - 将类型添加到 std 命名空间

c# - 如何在 VS2010 中从另一个 DLL 调试一个 DLL

visual-studio-2010 - MSBuild Hudson 服务器上的 VC Express 项目 (IncludePath)

c++ - 在 Windows 2000 中使用 Visual Studio 2010 编译的 C++ DLL 时出现问题

c++ - 从 Windows DLL 返回 C++ 对象