java - 无法为 Windows x86 构建 JAssimp.dll

标签 java linker unresolved-external assimp

所以,我正在尝试进入 LWJGL,其中一部分是加载 3D 模型,我想我应该使用 JAssimp 来实现这一点。自述文件指定了两个步骤,构建 native 组件和 .jar 组件。这个 jar 只是 Ant build 的,所以它的发生没有发生任何事故。困难的部分是 native 库。我一直在尝试链接它,但没有成功。我已经包含了 assimp 包含目录、Java header ,并链接到 JAssimp 的 assimp.lib。但是,我仍然收到这些错误:

jassimp.obj : error LNK2019: unresolved external symbol _aiImportFile referenced in function _Java_jassimp_Jassimp_aiImportFile@20
jassimp.obj : error LNK2019: unresolved external symbol _aiReleaseImport referenced in function _Java_jassimp_Jassimp_aiImportFile@20
jassimp.obj : error LNK2019: unresolved external symbol _aiGetErrorString referenced in function _Java_jassimp_Jassimp_aiImportFile@20
C:\Users\Kevin\Downloads\assimp-3.1.1-win-binaries\port\jassimp\jassimp-native\src\Release\Jassimp.dll : fatal error LNK1120: 3 unresolved externals

谷歌搜索导致了几乎相同的问题,但没有答案,并且一个在facepunch上的人显然找到了解决方案,但拉出了https://xkcd.com/979/并且从未提及如何。显然,我错过了链接到某个库,但我不确定还可以链接到什么,Assimp 只为我提供了一个,而且我不确定我还需要什么。难道我安装错了?

最佳答案

对于任何遇到同样问题的人来说,答案是采用老式方法并自己编译 C++ Assimp。这将为您提供(除其他外)一个新的 assimp.lib。使用此链接而不是提供的链接,错误就会消失。

关于java - 无法为 Windows x86 构建 JAssimp.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34165211/

相关文章:

c++ - 什么是 undefined reference /未解析的外部符号错误,我该如何解决?

java - Mockito:如何 stub 无效方法以在调用时运行一些代码

java - quickfix/field/HaltReason 不可分配给 'quickfix/IntField

java - 格式化记录器文件处理程序问题

iphone - 尝试与 iPhone 应用程序集成时,Google plus SDK 会发出链接器错误

c - 如何从汇编代码调用 C 函数

xcode - 在一组 UISlider 之间划分一个 set 变量

C++ 使用类的静态成员时,什么可能会导致链接过程中出现 Unresolved external 错误?

java - 如何将 JSONObject 传递到 PHP 文件?

c++ - 为什么我的代码会生成 "Unresolved external symbol"错误?