include/opencv2/core/cvstd.hpp:647: undefined reference to `cv::String::deallocate()'

在编译OpenCV相关代码时遇到链接错误,包括`undefined reference to cv::Mat::deallocate()`和`cv::String::deallocate()`。通过检查`include`目录和`libopencv_java3.so`,将正确版本的库和头文件引入,并更新`Android.mk`文件,最终成功解决编译问题。
摘要由CSDN通过智能技术生成

今天编译一个执行文件时发生了如下错误

/home/archermind/test/jni/include/opencv2/core/mat.inl.hpp:804: undefined reference to `cv::Mat::deallocate()'
/home/archermind/test/obj/local/arm64-v8a/objs/t/test.o: In function `~Mat':
/home/archermind/test/jni/include/opencv2/core/mat.inl.hpp:692: undefined reference to `cv::fastFree(void*)'
/home/archermind/test/obj/local/arm64-v8a/objs/t/test.o: In function `~String':
/home/archermind/test/jni/include/opencv2/core/cvstd.hpp:647: undefined reference to `cv::String::deallocate()'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [/home/archermind/test/obj/local/arm64-v8a/t] Error 1

archermind@flm:~/test/jni$ ls
Android.mk  Application.mk    include  libopencv_java3.so  test.cpp

这个时候就得检查一下include和libopencv_java*.so有没有问题

我这里用的是arm64-v8a,所以我就拷贝了一个这个目录下的libopencv_java3.so到当前路径&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值