如何构建libprotobuf-lite.so

时间:2015-09-21 05:44:26

标签: java android c++ android-ndk protocol-buffers

我正在尝试让Protobuf lib在Android中的Java和JNI层之间进行通信。我从here获得了源代码。所以我在Jni> Source_Sirectory中将其添加为源文件。现在,如果我执行 ndk-build 来生成 .so 文件,则会提示以下错误日志:

Select * from product 
where name like "%abc%" 
limit 50

UNION ALL

Select * from product 
where name like "%xyz%" 
limit 50

如果我在这里遗漏任何内容,有什么建议吗?

1 个答案:

答案 0 :(得分:2)

Proto缓冲区生成的c / c ++代码依赖于google的支持代码,该代码与proto缓冲区编译器一起安装。这意味着你获得的所有c / c ++都依赖于protobuf的支持代码,这就是你得到链接错误的原因 - 显然你在生成共享对象时没有将google的原型缓冲支持库与其他链接资源链接起来。

我为JNI .so库创建了一个eclipse构建,在那里我向链接器添加了一个-lprotobuf标志,可以看到here (搜索makefile,然后滚动到链接器部分)。 希望这有帮助。