JNI问题:C ++ DLL中FileHandle的符号查找错误

时间:2012-07-03 12:09:07

标签: java c++ dll java-native-interface filehandle

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

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

是的,有人可以帮帮我吗? :)

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

我找到了问题,谢谢大家。 我使用的库有一个库文件“somefile.a”,我在库文件夹中丢失了它。 我得到了图书馆,将其包含在项目中并且工作正常:)

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