请选择 进入手机版 | 继续访问电脑版

雨滴科技技术论坛

 找回密码
 立即注册
查看: 144|回复: 6

编译opencv

[复制链接]

465

主题

1853

帖子

7487

积分

论坛元老

Rank: 8Rank: 8

积分
7487
扫一扫,手机访问本帖
发表于 2020-7-31 14:12:29 | 显示全部楼层 |阅读模式
下载opencv-4.4.zip。可能是中国长城的问题,速度有的慢,80多M。我没成功,找人要了一份。
打算先在本机器编译试试,再交叉

工程是用cmake构建,类似scons,autotools的一个工程管理工具。大概看了一下,是喜欢的风格,以后有机会可以用,也有点类似Android.mk

mkdir  build
cd build
cmake ..
make
不知道为什么,我16GB内存的电脑居然编译失败造成机器重启了两次
最后还是编译出来了。

第一步完成了。



回复

使用道具 举报

465

主题

1853

帖子

7487

积分

论坛元老

Rank: 8Rank: 8

积分
7487
 楼主| 发表于 2020-7-31 18:10:02 | 显示全部楼层
第二步卡住了,交叉编译出错。


[ 35%] Building CXX object modules/core/CMakeFiles/opencv_core.dir/src/async.cpp.o
In file included from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:8:0:
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/./modules/core/include/opencv2/core/detail/async_promise.hpp:47:28: error: 'std::exception_ptr' has not been declared
     void setException(std::exception_ptr exception);
                            ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:54:5: error: 'exception_ptr' in namespace 'std' does not name a type
     std::exception_ptr exception;
     ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:201:28: error: 'std::exception_ptr' has not been declared
     void setException(std::exception_ptr e)
                            ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp: In member function 'bool cv::AsyncArray::Impl::get(cv::OutputArray, int64) const':
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:112:34: error: 'exception' was not declared in this scope
             if (has_exception && exception)
                                  ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:112:34: note: suggested alternative:
In file included from /opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/include/c++/4.8.3/stdexcept:38:0,
                 from /opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/include/c++/4.8.3/array:38,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/./modules/core/include/opencv2/core/cvdef.h:734,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/./modules/core/include/opencv2/core.hpp:52,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/./modules/core/include/opencv2/core/utility.hpp:56,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/precomp.hpp:49,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:5:
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/include/c++/4.8.3/exception:60:9: note:   'std::exception'
   class exception
         ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:115:17: error: 'rethrow_exception' is not a member of 'std'
                 std::rethrow_exception(exception);
                 ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp: In member function 'void cv::AsyncArray::Impl::setException(int)':
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:212:9: error: 'exception' was not declared in this scope
         exception = e;
         ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:212:9: note: suggested alternative:
In file included from /opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/include/c++/4.8.3/stdexcept:38:0,
                 from /opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/include/c++/4.8.3/array:38,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/./modules/core/include/opencv2/core/cvdef.h:734,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/./modules/core/include/opencv2/core.hpp:52,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/./modules/core/include/opencv2/core/utility.hpp:56,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/precomp.hpp:49,
                 from /media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:5:
/opt/hisi-linux/x86-arm/arm-hisiv300-linux/arm-hisiv300-linux-uclibcgnueabi/include/c++/4.8.3/exception:60:9: note:   'std::exception'
   class exception
         ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp: At global scope:
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:359:38: error: variable or field 'setException' declared void
void AsyncPromise::setException(std::exception_ptr exception)
                                      ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:359:33: error: 'exception_ptr' is not a member of 'std'
void AsyncPromise::setException(std::exception_ptr exception)
                                 ^
/media/chen/data/auto/hi3520/tools/opencv-4.4.0/modules/core/src/async.cpp:366:1: error: expected '}' at end of input
} // namespace
^
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/build.make:155: modules/core/CMakeFiles/opencv_core.dir/src/async.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:2004: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [Makefile:163: all] Error 2
回复 支持 反对

使用道具 举报

465

主题

1853

帖子

7487

积分

论坛元老

Rank: 8Rank: 8

积分
7487
 楼主| 发表于 2020-8-1 17:37:39 | 显示全部楼层
降低版本重新下载opencv 3.4.1
依旧编译错误。
回复 支持 反对

使用道具 举报

280

主题

1734

帖子

7282

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7282
发表于 2020-8-3 12:00:31 | 显示全部楼层
现在编译好了没有?
回复 支持 反对

使用道具 举报

465

主题

1853

帖子

7487

积分

论坛元老

Rank: 8Rank: 8

积分
7487
 楼主| 发表于 2020-8-3 13:51:31 | 显示全部楼层
x86平台的编译好了,很顺利。  交叉编译的还不行,看着是c++标准的问题。c++标准库的头文件都找不到。std11
回复 支持 反对

使用道具 举报

280

主题

1734

帖子

7282

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7282
发表于 2020-8-4 20:03:30 | 显示全部楼层
用单独的NDK和SDK可以解决问题。
回复 支持 反对

使用道具 举报

465

主题

1853

帖子

7487

积分

论坛元老

Rank: 8Rank: 8

积分
7487
 楼主| 发表于 2020-8-5 12:37:05 | 显示全部楼层
活着 发表于 2020-8-4 20:03
用单独的NDK和SDK可以解决问题。

不是android平台的,是linux平台的。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

在线客服
在线咨询
咨询热线
0755-26787502-8006/8016
扫一扫二维码
直接访问本站

QQ|Archiver|手机版|小黑屋|雨滴科技  

GMT+8, 2020-8-15 20:57 , Processed in 0.065647 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表