Windows平台visual studio与树莓派跨平台交叉编译opencv

这篇具有很好参考价值的文章主要介绍了Windows平台visual studio与树莓派跨平台交叉编译opencv。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

由于架构差异,opencv在Windows平台下编译的程序无法直接移植到树莓派环境使用,所以需要进行Cmake和跨平台的交叉编译。网上包括官方文档很多足够参考,但配置过程中依然会出现个性问题,以下是本人基于windows下使用visual studio2017集成开发环境进行交叉编译环境配置过程中遇到的问题,记录配置过程,作为补充供大家参考。

**一、工具版本准备:**

Visual studio版本:vs2017
通过Visual studio installer安装如下组件:
Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv

交叉编译工具链:raspberry-gcc8.3.0-r3.exe
百度网盘链接:https://pan.baidu.com/s/1-GZlg3WMaRzkKqTlSZY6CA  提取码:ldpa 
交叉编译调试工具:VisualGDB 选用VisualGDB-5.5-preview3.msi    
百度网盘链接:https://pan.baidu.com/s/1FTJ_BQprpOjGGmlsxNqo4A  提取码:apvj 
Opencv版本:Opencv3.4.3
       百度网盘链接:https://pan.baidu.com/s/1NFr44kMurzwRLQiKVkL95A  提取码:mf05 
pkg-config工具:
百度网盘链接:https://pan.baidu.com/s/1BRNAhE7wyAqojmzlSqYnNQ  提取码:ealw 

将以上工具进行下载并安装raspberry-gcc8.3.0-r3和VisualGDB,完成后打开vs2017,界面可能会出现如下选项(如果没有则忽略),**Edition选项**选择Linux,然后点击**APPLY**,**DISSMISS**没有尝试过。 
Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv

 
后面步骤请参考,官方链接:
Cross-compiling OpenCV 3 for Raspberry Pi 2 – VisualGDB Tutorials
辅助参考文档链接:
lhttps://github.com/chengzhag/OpenCV_raspberry?tab=readme-ov-file
https://blog.csdn.net/echoszf/article/details/134401156#:~:text=%E6%9C%AC%E6%96%87%E4%B8%BB%E8%A6%81%E4%BB%8B%E7%BB%8D%E9%80%9A%E8%BF%87Visual%20Studio%E5%AF%B9%E6%A0%91%E8%8E%93%E6%B4%BE%E8%BF%9B%E8%A1%8C%E4%BA%A4%E5%8F%89%E7%BC%96%E8%AF%91%E7%9A%84%E6%96%B9%E6%B3%95%E3%80%82%201%20%E7%8E%AF%E5%A2%83%20%E5%AE%BF%E4%B8%BB%E6%9C%BA%EF%BC%9A%20%E7%B3%BB%E7%BB%9F%EF%BC%9AWindows10%20%E5%BC%80%E5%8F%91%E5%B9%B3%E5%8F%B0%EF%BC%9AVisual%20Studio,Prebuilt%20GNU%20toolchain%20for%20Raspberry%20Pi%20%28%E6%88%91%E4%B8%8B%E7%9A%84%20raspberry-gcc10.2.1-r2.exe%29

**二、配置过程出现问题说明**

为保证一次配置成功,以下是对官方说明文档进行补充:
在步骤4中:vs的build subdirectory子目录选项默认可能是 build/$(ConfigurationName)与官方文档不同,改成与官方文档保持一致的ViusalGDB/$(ConfigurationName)。
Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv


在步骤6中:本次交叉编译树莓派配置的libgtk版本为libgtk-3-dev 3.24.5-1+rpt2,可以通过SmarTTY进行查看,同时还要安装libgtk2.0-dev,如果没安装可以通过SmarTTY勾选安装。
Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv
步骤7中:同步根目录时,除官方文档给出的目录,还需添加 /usr/share/pkgconfig和/opt/vc目录,同步时间耗时大概1个小时。否则在步骤21 build过程中会出现问题。
Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv

Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv

步骤13中:如果GTK+ 显示为 NO,则为步骤7中没同步目录成功,或者没有操作步骤5。成功了则显示出树莓派中libGTK的版本。
 Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv

步骤21中:build耗时大约40分钟,如果出现以下错误,则同步目录可能存在问题。如在显示如下错误,
collect2: error: ld returned 1 exit status,一般与编译器有关,或者版本不匹配或者找不到对应的编译器(找不到编译器又可能是没安装对应编译器也可能是编译器路径找不见)这个错误表明找不见gtk,原因是没有同步成功配置文件。
Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv


当执行完步骤22的installer target后,新建项目,CmakeList.txt需要添加以下内容,注意在target_link_libraries后面添加标注的部分,容易忽略掉,
find_package(OpenCV REQUIRED)
ocv_include_directories("${OpenCV_SOURCE_DIR}/include")
ocv_include_modules_recurse(${OPENCV_CPP_SAMPLES_REQUIRED_DEPS})

 
<...>
 
target_link_libraries(OpenCVDemo ${OpenCV_LIBS} "${LIBRARIES_FROM_REFERENCES}"),
其他步骤继续参考文档,本人生成的可执行文件在树莓派测试成功,效果如下:
Windows平台visual studio与树莓派跨平台交叉编译opencv,windows,visual studio,opencv文章来源地址https://www.toymoban.com/news/detail-847640.html

到了这里,关于Windows平台visual studio与树莓派跨平台交叉编译opencv的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包