桢奎 2016-07-28 02:11 采纳率: 0%
浏览 1774
已结题

QT opencv C++ Android编译问题

最近想把windows下写好的opencv代码移植到Android平台上运行,于是搭建了一个QT for Android的编译环境,然后把代码放到QT里面编译。
刚开始用-Desktop_Qt_5_4_1_MinGW_32bit编译运行正常,可是把编译器换成Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1之后就就报错,在网上查了好几天都没有找到解决方案。
有没有哪位大神知道的,帮帮忙,在下不胜感激!!

以下是关键的代码部分:

.pro文件:
INCLUDEPATH += E:\opencv\build\include\opencv2\
E:\opencv\build\include\opencv\
E:\opencv\build\include

LIBS += E:\opencv_cmake\lib\libopencv_core249.dll.a\
E:\opencv_cmake\lib\libopencv_highgui249.dll.a\
E:\opencv_cmake\lib\libopencv_imgproc249.dll.a\
E:\opencv_cmake\lib\libopencv_calib3d249.dll.a\
E:\opencv_cmake\lib\libopencv_contrib249.dll.a\
E:\opencv_cmake\lib\libopencv_features2d249.dll.a\
E:\opencv_cmake\lib\libopencv_flann249.dll.a\
E:\opencv_cmake\lib\libopencv_gpu249.dll.a\
E:\opencv_cmake\lib\libopencv_legacy249.dll.a\
E:\opencv_cmake\lib\libopencv_ml249.dll.a\
E:\opencv_cmake\lib\libopencv_objdetect249.dll.a\
E:\opencv_cmake\lib\libopencv_video249.dll.a

包含的opencv头文件:
#include
#include
#include

opencv代码部分
image = cv::imread("./1.jpg");
if(!image.data)
{
QMessageBox msgBox;
msgBox.setText(tr("image data is null"));
msgBox.exec();
}
else
{
cv::cvtColor(image,image,CV_BGR2RGB);
img = QImage((const unsigned char*)(image.data),image.cols,image.rows, image.cols*image.channels(), QImage::Format_RGB888);
ui->label->clear();
ui->label->setPixmap(QPixmap::fromImage(img));
//ui->processPushButton->setEnabled(true);
ui->label->resize(ui->label->pixmap()->size());
}

报错情况:
![图片说明](https://img-ask.csdn.net/upload/201607/28/1469671885_529743.png)
E:\opencv\build\include\opencv2\core\mat.hpp:278: error: undefined reference to `cv::fastFree(void*)'
E:\opencv\build\include\opencv2\core\mat.hpp:298: error: undefined reference to `cv::Mat::copySize(cv::Mat const&)'
E:\opencv\build\include\opencv2\core\mat.hpp:367: error: undefined reference to `cv::Mat::deallocate()'
E:\QT_Work\build-testAndroid-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug\mainwindow.obj:-1: In function `cv::Mat::operator=(cv::Mat const&)':
E:\QT_Work\build-testAndroid-Android_for_armeabi_v7a_GCC_4_9_Qt_5_4_1-Debug\mainwindow.obj:-1: In function `cv::Mat::release()':
E:\QT_Work\testAndroid\mainwindow.cpp:28: error: undefined reference to `cv::imread(std::string const&, int)'
  • 写回答

1条回答

  • devmiao 2017-03-05 00:04
    关注
    评论

报告相同问题?

悬赏问题

  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器
  • ¥15 如何用Labview在myRIO上做LCD显示?(语言-开发语言)