Mobile
Mobile copied to clipboard
编译Paddle Android demo,在生成inference时,make出现错误
参照 安卓文档,在进行第二步 make时提示下面的错误:
root@wyf-virtual-machine:/home/wyf/Paddle-Android/Mobile/benchmark/tool/C/build# make Scanning dependencies of target inference [100%] Building CXX object CMakeFiles/inference.dir/inference.cc.o Linking CXX executable inference /home/wyf/Paddle-Android/arm64_standalone_toolchain/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/bin/ld: cannot find -lprotobuf collect2: error: ld returned 1 exit status make[2]: *** [inference] 错误 1 make[1]: *** [CMakeFiles/inference.dir/all] 错误 2 make: *** [all] 错误 2
然后参考了 Fix linking problem of protobuf-3.2,但没有看明白怎样修改的CMakeLists.txt,我的 ANDROID_ABI = arm64-v8a,能否较详细说下怎样修改呢?谢谢
你是自己编译的Paddle库吧,我们最近Paddle库有更新,现在third_party/protobuf/lib
下面安装的是libprotobuf-lite.a
,实际上我们也只需要链接libprotobuf-lite.a
就够了,抱歉demo没有来得及更新。修改如下:
文件https://github.com/PaddlePaddle/Mobile/blob/develop/benchmark/tool/C/FindPaddle.cmake#L12 ,将-lprotobuf
改成-lprotobuf-lite
@Xreki 是的,我自己编译的Paddle库。 还好,现在编译出inference了。 谢谢啦
建议尽快更新一下吧,我也遇到了这个问题,不过按照Xreki的方法完美解决了~
你好,能请问几个paddle做安卓的几个问题吗?谢谢!
@Xreki 谢谢,终于解决了。找了好几天以为是工具链的问题。
@Xreki 还有,能不能更新一下项目,让后来者避免踩这种不必要的坑