JNI 问题:DLL 中的文件句柄出现符号查找错误C++

JNI issue: symbol lookup error by FileHandle in C++ DLL

本文关键字:符号 查找 错误 C++ 文件句柄 问题 DLL JNI      更新时间:2023-10-16

我制作了JNI函数,并成功地将它们与c ++动态库链接起来。我让所有这些工作都很好,但是我有一个函数的问题,我在用于从文件中读取数据的 c++ 中使用的 FileHandle 类中收到了符号查找错误。知道它正在处理普通的 c++ 项目,但不在 DLL 中。

/

usr/lib/jvm/jdk1.7.0/bin/java: symbol lookup error:/home/.../NetBeansProjects/TRIOGUI/dist/libNativeAdd.so: undefined symbol: _ZN5Gdsii9GdsParserC1EPKcN7SoftJin10FileHandle8FileTypeEN5boost8functionIFvS2_ESaIvEEEJava 结果:127

有人可以帮我吗?:)

我发现你的符号非常可疑。不正确的重整。你是怎么得到的?是从某个地方复制粘贴吗?你尝试过破解它吗? 10FileHandleF8ileType应该是10FileHandle8FileType.然后它转向一个有效的符号Gdsii::GdsParser::GdsParser(char const*, SoftJin::FileHandle::FileType, boost::function >)

我发现了问题,谢谢大家。我正在使用的库有一个库文件"somefile.a",我在库文件夹中丢失了该文件。我得到了库,将其包含在项目中,它工作正常:)

再次感谢你们试图帮助:)