Java JNI问题:C++;动态链接库 我制作了JNI函数并成功地与C++动态库链接。我让他们都工作得很好,但是我有一个问题,我从文件处理类中得到了符号查找错误,我用C++来读取文件中的数据。 知道它在正常C++项目上工作,而不是在DLL中工作。

Java JNI问题:C++;动态链接库 我制作了JNI函数并成功地与C++动态库链接。我让他们都工作得很好,但是我有一个问题,我从文件处理类中得到了符号查找错误,我用C++来读取文件中的数据。 知道它在正常C++项目上工作,而不是在DLL中工作。,java,c++,dll,java-native-interface,filehandle,Java,C++,Dll,Java Native Interface,Filehandle,/usr/lib/jvm/jdk1.7.0/bin/java:符号查找错误:/home/../NetBeansProjects/TRIOGUI/dist/libNativeAdd.so:未定义的符号:ZN5Gdsii9GdsParserC1EPKcN7SoftJin10FileHandle8FileTypeEN5boost8functionIFvS2_esavee Java结果:127 有人能帮我吗?:) 我发现你的符号非常可疑。不正确的损坏。你是怎么得到的?是从某处复制粘贴的吗?你试过破解它吗

/usr/lib/jvm/jdk1.7.0/bin/java:符号查找错误:/home/../NetBeansProjects/TRIOGUI/dist/libNativeAdd.so:未定义的符号:ZN5Gdsii9GdsParserC1EPKcN7SoftJin10FileHandle8FileTypeEN5boost8functionIFvS2_esavee Java结果:127


有人能帮我吗?:)

我发现你的符号非常可疑。不正确的损坏。你是怎么得到的?是从某处复制粘贴的吗?你试过破解它吗
10FileHandle8FileType
应该是
10FileHandle8FileType
。然后它转向一个有效的符号
Gdsii::GdsParser::GdsParser(char const*,SoftJin::FileHandle::FileType,boost::function>)
我发现了问题,谢谢大家。 我使用的库有一个库文件“somefile.a”,我在库文件夹中找不到它。 我得到了图书馆,并将其包含在项目中,效果很好:)


再次感谢大家的帮助:)

您应该提供您正在使用的代码。。。在java和C++方面都是。这是我在项目中使用的一个函数库。我在项目属性中引用C++编译器,库在正常项目中的所有功能都很好,但是当我把我的项目做成一个DLL文件时,除了这个函数之外,我所做的所有函数和本机函数都是正确的。是的,关于10FILHELDL8文件类型,你是对的,我编辑了它。是的,这是GDSParser类中的一个函数,我给了它正确的参数。在正常的C++项目中,它工作正常,但是当我在DLL使用它时,它给了我这个错误:(你是什么意思?”编辑它“?所以它是正确的,作为SO文件中的符号吗?我想你必须解释什么是“正常项目”。如果它是一个静态链接的应用程序,那么你可能只是错误地设置了DLL的搜索路径。