ndk-build ncnn报undefined reference to '__kmpc_fork_call'
·
错误原因
使用c++写了一个关于ncnn调用深度学习模型的项目,需要部署到手机端,在Ubuntu系统下使用ndk-build来编译so库提供给Android端使用,在ndk-build的时候报了上面的错误
错误描述
absval.cpp:28: error: undefined reference to '__kmpc_global_thread_num'
absval.cpp:34: error: undefined reference to '__kmpc_push_num_threads'
编译环境
- Ubuntu 16.04
- ndk r21
解决办法
在Android.mk文件中添加LOCAL_LDFLAGS,代码如下
LOCAL_LDFLAGS += -fopenmp -static-openmp
需要注意不同的ndk有所不同
老版本的NDK
LOCAL_LDFLAGS += -Wl,-Bstatic -lomp -Wl,-Bdynamic
参考:https://github.com/Tencent/ncnn/issues/976
https://github.com/Tencent/ncnn/issues/292
https://github.com/Tencent/ncnn/wiki/FAQ-ncnn-throw-error#undefined-reference-to-__kmpc_xyz_xyz
更多推荐
所有评论(0)