| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> ubuntu入门---从配置虚拟机到使用qtcreator运行opencv3.4(C++) -> 正文阅读 |
|
[系统运维]ubuntu入门---从配置虚拟机到使用qtcreator运行opencv3.4(C++) |
文章目录前言在日常的学习生活中,我们难免会碰到一些特定的需求,比如在ubuntu16.04中使用qtcreator运行Opencv程序之类。因此,在本片文章中,会一步一步教读者从配置虚拟机,安装ubuntu16.04系统,学习linux一些基础指令,安装GCC和qtcreator以及配置opencv的环境,同时拓展其中的部分知识点。作为涵盖了较多内容的一篇教程,很难做到所有内容均为原创,一些地方会直接引用其他人的教程,或者直接给出链接。读者可以根据目录检索自己需要的内容。 一、使用VMware安装ubuntu16.04因为前人的教程已经相当完善,这里直接贴出链接,根据自己下载的软件版本进行微调。 二、LINUX基本指令1.LINUX简单介绍Linux是指一种计算机操作系统:Linux也可指操作系统的内核,实际应用上人们已经习惯了用Linux来形容整个基于Linux内核,并且搭载了各种人机界面,应用和服务软件的操作系统。基于这些组件的Linux软件被称为Linux发行版。 2.基本指令一、文件/文件夹管理 ls 列出当前目录文件(不包括隐含文件) cd … 回当前目录的上一级目录 mv 路经/文件 /经/文件移动相对路经下的文件到绝对路经下 二、系统管理 fdisk fdisk -l 查看系统分区信息 Useradd 创建一个新的用户 reboot Init 6 重启LINUX系统 三、打包/解压 tar -c 创建包 –x 释放包 -v 显示命令过程 –z 代表压缩包 四、make编译 make 编译 以上为linux系统命令的基本内容,更多的请上网了解 三、配置GCC为了得到良好的安装体验,国内的读者建议在ubuntu上安装任何软件前先将软件的下载源切换为国内的清华源或者阿里源。 1.GCC简介参考文章:浅显易懂的GCC使用教程——初级篇 GCC(GNU Compiler Collection)即GNU编译器套件,属于一种编程语言编译器,其原名为GCC(GNU C Compiler)即GNU c语言编译器,虽然缩写一样但是功能上区别很大。GCC的初衷是为GNU操作系统专门编写的一款编译器,原本的GNU是专用于编译C代码,现如今已扩展为可以编译C、C++、Java、Objective-C等多种编程语言的编译器集合了。这里主要介绍gcc或g++的使用。 gcc(GUN C Compiler)是GCC中的c编译器,而g++(GUN C++ Compiler)是GCC中的c++编译器。 2.安装GCC首先,这里使用的ubuntu16.04中是自带GCC的,可以使用 默认的Ubuntu存储库包含一个名为build-essential的元包,它包含GCC编译器以及编译软件所需的许多库和其他实用程序。这意味着,安装了build-essential同时也就是安装gcc和g++编译器。 1.首先输入
2.键入以下命令安装build-essential软件包:
这里简单提一下依赖关系。Linux的依赖关系因为他的整个系统都是由各个不同的开发组开发的软件集合而成,每个软件都有不同的功能提供和调用。因此linux系统在运行一个软件的时候,往往需要其他软件模块的协同才能成功运行。linux的灵活性就体现在其软件包是可以灵活组成的,你需要使用什么模块就有选择的安装什么模块。而windows系统通常会将所有依赖关系一股脑全给你装上,优点是不需要繁琐的依赖配置,缺点就是整个系统的臃肿和庞大。
3.安装并不同的GCC版本有时候我们并不需要apt自动给我安装的最新版本的gcc,此时我们就可以选择旧版本的gcc进行安装。
在“您希望执行吗”处输入y,即可进行安装。 1.将某个版本加入gcc候选中
同样的我们也将原来系统中的gcc的优先级改成100,这样我们就能在选择完当前使用版本之后不会恢复默认优先级的版本。
update-alternatives是Debian系统中专门维护系统命令链接符的工具,通过它可以很方便的设置系统默认使用哪个命令、哪个软件版本。这个例子中的系统中同时安装了gcc5和gcc4.8,我们通过update-alternatives可以很方便地实现管理。 2.通过下面的指令来选择不同的gcc和g++的版本
可以看到gcc指令链接上了两个gcc的版本,当前默认为gcc-4.8。选择你要切换的版本 4.GCC基本命令这里以生成一个C语言的可执行文件为例,并命名为hello.c存放在桌面。
以此在桌面文件夹下输入如下指令
注:与windows不同的是,linux的可执行文件是没有.exe后缀的。或者说,linux的文件系统是没有后缀这个概念的,大多时候加上后缀只是方便程序进行区分。 以上为生成一个可执行文件的基本步骤。 如果要运行可执行文件,只需要进入当前文件夹,输入 GCC命令基础可参考以下链接或官方文档GCC命令基础 四、配置qtcreator大多数时候,我们并不直接使用命令行对源文件进行编译,我们更希望借助IDE(集成开发环境)的辅助,以让我更高效的进行编程,这里向大家推荐一款跨平台的IDE:qtcreator。 1.为什么选择qtcreator因为好用,跨平台,而且免费。 2.安装qtcreator如果只是将其作为一个C/C++开发环境的话,简单粗暴的执行下面一条指令即可安装:
这条指令会自动安装安装qtcreator所需要的依赖文件
安装完之后你就能在qtcreator上编写你想要的GUI应用程序了~ 踩坑注意: 安装完后,输入 解决方法: 还有另一种解决办法可以参考qmake: could not exec ‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’: No such file or directory 3.使用qtcreator配置C++运行环境理论上在配置完上述环境后,qtcreator是可以直接投入使用的,但有时候会遇上Kit配置出现问题的情况。这里提供一种配置kit的步骤,供有问题的读者参考。 至此,你就可以愉快的编写C++程序了。 五、配置Opencv参考文章:Ubuntu系统中安装OpenCV 4 在这部分,我会介绍如何在ubuntu16.04下配置安装opencv3.4.14版本。配置其他版本的opencv方法大同小异,读者可以根据自己的需要自行调整。 1.下载opencv下载地址:opencv官网 2.安装opencv2.1解压 2.2安装OpenCV需要的依赖项
OpenCV 的使用会需要很多的依赖项,例如图片编码库、视频编码库等。不过这些依赖是针对某些特定的功能,即使某些功能的依赖项没有安装,也不会影响OpenCV 的编译与使用,只是在使用特定功能时会出现问题。因此在不确定某型功能以后会不会用到时,建议将常用的依赖都安装上
PS:安装依赖的时候别吝啬你的内存空间,能敲的命令都敲一遍,系统里没有的包会自动给你安装上,安装过的就不会再给你安装。 2.3编译和安装Opencv
创建一个新的文件夹的目的是为了接下来编译的时候将编译出的中间文件都生成在这个新的文件夹中,这样做不会因为编译过程中生成的文件将原文件夹中的内容变得混乱,这种方式在Ubuntu系统中非常常见。 接下来开始编译工作
命令中“CMAKE_BUILD_TYPE”是编译的模式参数,“CMAKE_INSTALL_PREFIX”是安装路径参数。这些参数都可以缺省,但是如果在安装多个版本的OpenCV时,设置不同的安装路径将变得十分有必要。这里我将opencv设置安装在了/usr/local/opencv3.4.14下。
找到"https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}/ippicv/" 编译的过程中如果提示你缺少哪个库文件,你就去安装哪个库文件。安装的方法根据提示去百度寻找方法。 下一条命令是完成最终的编译,“-j4”的意思是启用4个线程同时进行编译,可以根据自己计算机的性能自主选择,例如,启用8个线程“-j8”,只用单线程可以缺省。
经过漫长的等待编译完成后,输入下一条指令将opencv安装到上上条指令指定的路径下
2.4环境配置
保存文件并退出后,使用 接下来需要配置bash,在终端通过下面这条命令打开bash.bashrc文件,
在打开的文件末尾加上OpenCV的安装路径,代码如下面所示:
这里需要重点说明的是,文件路径需要与设置的安装路径相对应。 保存输入内容后,通过下面两条命令更新系统的配置环境,最终完成了OpenCV 3.4.14的安装。
3.测试一个简单的测试方式是输入 如果想确认真的安装成功了,就得确认能否通过程序调用OpenCV 函数库中的函数。
注意:由于OpenCV库基于C++11标准编写,因此必须在“CMakeList.txt”文件中声明set(CMAKE_CXX_FLAGS “-std=c++11”) 在“main.cpp”文件中输入程序如代码所示。
在当前文件夹下输入以下两条指令进行编译
如果没有报错那么恭喜你配置成功了。 六、使用QTcreator运行opencv程序在安装完qtcreator和opencv后,如果我们想要使用强大的IDE对程序进行编写和调试,就得学会如何使用安装好的qtcreator来运行opencv程序。 创建完成后右键项目目录添加一个源文件 pro文件用于控制qmake来生成makefile文件。其中可以指定需要编译的源文件和头文件,导入库,编译器选项和项目配置等等。通常这一切都是IDE帮我们自动生成的,但有时候我们需要进行一些特殊的设置,就得手动修改pro文件。 网上的教程总是要求我们在pro文件里加入大量的include和lib配置,实际上通过配置环境变量的方式可以让我们很便捷的将库文件导入到我们的工程中。 在pro文件添加以下几行代码:
CONFIG += link_pkgconfig和PKGCONFIG += opencv可以使用我们配置在环境变量中的PKG_CONFIG_PATH,使其找到我们安装的opencv库文件。CONFIG += c++14允许我们使用C++14标准的特性。 加入这三条代码之后我们就可以使用qtcreator编写opencv和C++14标准的程序了。 4.测试程序
右键项目目录,点击构建
碎碎念本篇文章基本涵盖了使用ubuntu编写opencv程序基本全过程,限制于篇幅,一些容易踩到的坑没有细讲,望读者能够善用搜索引擎。写这篇文章的初衷是为在学校内做培训撰写的学习资料,同时也是自己入坑ubuntu跌打滚爬日子中的一点总结,望后人能少踩点坑,省下一点在CSDN屎里淘金的精力,多学点有用的东西。 花了好几天,总共一万余字,终于写完了。为了确保文章内容的正确性,每一条指令都经过我自己的亲自验证,能踩的坑基本上都踩了一遍,同样也确保了跟着我的教程来配置环境基本是不会出什么大问题的,如果有什么遗漏的地方,也请大家指正。 以上 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/16 2:43:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |