Paddle-Lite
Paddle-Lite copied to clipboard
paddlie-lite推理静态库链接后推理报错
为使您的问题得到快速解决,在建立 Issue 前,请您先通过如下方式搜索是否有相似问题: 历史 issue, FAQ 文档, 官方文档
建立 issue 时,为快速解决问题,请您根据使用情况给出如下信息:
- 标题:简洁、精准描述您的问题,例如“ssd 模型转换报错”
- 版本、环境信息: 1)Paddle Lite 版本:V2.12 inference_lite_lib.android.armv8.clang.c++_static.with_extra.tar.gz 2)Host 环境:Ubuntu20.04
- 模型信息 1)模型名称 ch_PP-OCRv4_det_infer转nb 2)模型链接 官方检测模型
- 复现信息:ndk20b编译C++程序,使用官方ppocr_command_line程序进行推理
- 问题描述:若C++程序链接paddle-lite静态库,报错:'feed' is not supported, 若链接动态库,并将so库放在设备上,则不报错。链接静态库需要注意什么事项吗?我是直接:# target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_SOURCE_DIR}/3rdparty/inference_lite_lib.android.armv8.clang.c++_static.with_extra/cxx/lib/libpaddle_api_light_bundled.a)方式连接的
已收到您的issue,等内部同学看一下
没引用paddleop,spaddlekernels这几个头文件
静态库一定要引用这三个头文件: #include "include/paddle_api.h" #include "include/paddle_use_kernels.h" #include "include/paddle_use_ops.h"
静态库一定要引用这三个头文件: #include "include/paddle_api.h" #include "include/paddle_use_kernels.h" #include "include/paddle_use_ops.h"
添加后报错变成了:(.text._ZN6paddle4lite3arm4math25conv_depthwise_5x5s2_int8IfEEvPT_PKaS7_PKfS9_biPfiiiiiiiiPNS0_7ContextILNS_8lite_api10TargetTypeE4EEE[_ZN6paddle4lite3arm4math25conv_depthwise_5x5s2_int8IfEEvPT_PKaS7_PKfS9_biPfiiiiiiiiPNS0_7ContextILNS_8lite_api10TargetTypeE4EEE]+0x2d4): undefined reference to __kmpc_fork_call' ../../3rdparty/inference_lite_lib.android.armv8.clang.c++_static.with_extra/cxx/lib/libpaddle_api_light_bundled.a(conv5x5s2_depthwise_int8.cc.o): In function
.omp_outlined..1':
conv5x5s2_depthwise_int8.cc:(.text..omp_outlined..1+0xb0): undefined reference to __kmpc_for_static_init_4' conv5x5s2_depthwise_int8.cc:(.text..omp_outlined..1+0x170): undefined reference to
omp_get_thread_num'
conv5x5s2_depthwise_int8.cc:(.text..omp_outlined..1+0x6b4): undefined reference to `__kmpc_for_static_fini'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
请问你有遇到过吗
看起来没有找到 OMP的符号,你需要重新编译一个没有 OMP 的 LITE 库。 https://github.com/PaddlePaddle/Paddle-Lite/blob/ddd8fd8ad2c0b5c412cca99a04f1a48a36104187/CMakeLists.txt#L66 ON 改成 OFF