首先对自己编写的Hello.cpp编译成so 我这么编译为什么总是提示我 ‘_InitInfo’在此作用域中尚未声明 其中 VerifyResult是第三方库,_InitInfo是第三方库提供的对外接口 另外,我已经将libVerifyResult.so放到了当前目录,并且在/usr/lib下也放置了。 |
|
16分 |
使用nm命令看看libHello.so里面的符号是不是对
先确保带有main函数的Hello.cpp可以调用第三方库 |
是这样的,我通过C++程序直接调用SO,是没问题的,现在我需要在写个C++程序,但是要符合JNI规范,目的上让JAVA调用。 我觉得我是编译哪里有了问题。 |
|
关键的问题是,我如何与第三方提供的SO建立关联。
|
|
16分 |
system.load(libxxx.so);
|
我单独百年些CPP成寻,调用这个库,是没有问题的,而且直接可以用,也不需要什么load,open之类的,现在我是 |
|
今天最后一顶
|
|
不能解决的话,今天准备结贴了。
|
|
16分 |
在cpp文件里include头文件,然后使用dlopen试试吧
|
16分 |
|
这是基本的,我需要咨询的是,可能是我在编译的时候,尤其是依赖关系上,哪个参数没有些对造成的。 我这么编译为什么总是提示我 ‘_InitInfo’在此作用域中尚未声明 其中 VerifyResult是第三方库,_InitInfo是第三方库提供的对外接口 另外,我已经将libVerifyResult.so放到了当前目录,并且在/usr/lib下也放置了。 |