欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VMware下ubuntu虚拟机的"Qt5-Opencv3.4.9"装机

程序员文章站 2024-03-08 20:26:28
...

只要装机不停下来 道路就会不断延伸 我们的努力也会 全 部 木 大

零零碎碎用了几天时间终于算把这几个玩意儿下载并安装完成了,长舒一口气。写一下装机的时候遇到的各种各样的事情,若有所裨益再好不过。


重申:
这是我总结了装机时出现的各种错误,采取了避坑措施后写出的。如果遇到了报错,则是我没有遇到的,请各位各显神通。

一、Qt5的安装

指路官网网址: https://download.qt.io/official_releases/qt/
根据自己需要下载对应版本,我这里选用的是
qt-opensource-linux-x64-5.12.3.run

下载好后在终端执行下述代码

sudo apt-get update
cd DownLoads  #“DownLoads”是下载了qt的文件夹
chmod +x ./qt-opensource-linux-x64-5.9.1.run 
sudo ./qt-opensource-linux-x64-5.9.1.run 

可执行化后双击图标,在图形化界面下点点点就完事儿了,在安装时有一个地方需要全选 废话

安装结束后还需要修改配置。在终端输入下述代码:
(也不一定是vim gedit也行,只要是文本编辑器就好了)

sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf

对打开的文档分别写入Qt5的bin目录以及Qt5的目录,例如:

/home/XXX/NUEDC/qt5/5.12.3/gcc_64/bin
/home/XXX/NUEDC/qt5  

为避免误解 声明XXX是用户的名称

保存退出文本编辑器,回到终端,输入下述命令:

sudo apt-get install libgl1-mesa-dev

Qt5安装完成

二、安装及编译OpenCV3.2.0(包括opencv_contrib)

1.安装opencv的依赖库(?

自认为这里列出的依赖有冗余,我也没搞懂到底哪些有用,从许多博客上查到一些命令合在一起最终总算可以开始之后一步了
在终端输入下述命令:

sudo apt-get install libgl1-mesa-dev
sudo apt-get -y install build-essential cmake pkg-config
sudo apt-get -y install libjpeg62-dev
sudo apt-get -y install libtiff4-dev libjasper-dev
sudo apt-get -y install libtiff4-dev
sudo apt-get -y install libtiff5-dev
sudo apt-get -y install libtiff5-dev libjasper-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install git libgtk2.0-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip
sudo apt-get -y install libopencv-dev build-essential cmake git libgtk2.0-dev pkg-config python-dev python-numpy libdc1394-22 libdc1394-22-dev libjpeg-dev libpng12-dev libjasper-dev libavcodec-dev libavformat-dev libswscale-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev libtbb-dev libqt4-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libtheora-dev libvorbis-dev libxvidcore-dev x264 v4l-utils unzip  --fix-missing
sudo apt install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
sudo apt install libavresample

然后安装CMake 在终端执行下述命令:

sudo apt-get install cmake

2.下载Opencv以及Opencv-contrib

不得不说GFW在这个方面太挡事,网络不行的地区直接下载基本不可能,这里大家自己各显神通吧。

两个文件的版本号一定要相同。(我这里选择的是3.4.9)

下载下来后是两个文件夹,把contrib的那个放入另一个里面 (以防万一说一下 意思就是/opencv3.4.9/opencv_contrib-3.4.9这样的相对关系)

3.编译(报错重头戏)

在终端执行下述命令:

sudo apt install cmake-qt-gui
sudo apt-get install ccache

在opencv主文件夹下打开终端(右键+e,cd到这里一个意思),执行下述命令:

mkdir release  #我这里命名是release,有的博客是用的build,应该都没问题
cd release
cmake-gui

在弹出来的图形化面板上进行操作:

1)

“Where is the source code”
填写opencv主文件夹路径,填到opencv位置,比如"home/XXX/opencv3.4.9"

2)

“Where to build the binaries”
填写contrib文件夹路径,比如"home/XXX/opencv3.4.9/opencv_contrib-3.4.9"

3)

搜索free 在弹出的栏目里打钩

4)

搜索contrib 可能没有也可能有栏目跳出
如果没有,点击搜索栏旁边的Add Entry
Type改为Path
Name填写"OPENCV_EXTRA_MODULES_PATH"
Value填写contrib文件夹中的"modules"文件夹的路径,例如"home/XXX/opencv3.4.9/opencv_contrib-3.4.9/modules"

5)

搜索qt
把WITH_QT的勾打上
把Qt5_DIR后面的值改为cmake文件夹下Qt5文件夹的所在路径,例如"home/xxx/qt5/5.12.3/gcc_64/lib/cmake/Qt5"

6)

点击左下角的Configure,再Generate.


如果一切顺利这里应该就是在下方的小框内只有黑字,没有红字。但是这里大概率会遇到ippicv开头的文件下载失败的问题。
尝试各种方法后最终一种办法采取了成效,这里指路我最终采用的办法 csdn博客


从编译一步开始到这里的步骤,是我总结了装机时出现的各种错误,采取了避坑措施后写出的。如果到这一步时configure还出现红字的报错(比如刚才zdy才来问),则是我没有遇到的,请各位各显神通。

加油 奥利给!!!

7)

在cd到release文件夹的终端里输入下述命令:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=On -D WITH_OPENGL=ON OPENCV_EXTRA_MODULES_PATH=/home/XXX/opencv3.4.9/opencv_contrib-3.4.9/modules/ ..

其中,CMAKE_INSTALL_PREFIX是库文件安装目录,建议就使用这个,WITH_QT=On必须选,OPENCV_EXTRA_MODULES_PATH=后面是你的contrib存放的绝对路径(相对路径不知道可不可以),后面两个.必须加。

8)

在cd到release文件夹的终端里输入下述命令:

sudo make -j8 

最末数字代表机子实际有的线程数目,比如八线程CPU就写j8,此处的x太小的话编译太慢,太多的话会死机,请谨慎。


在这里可能会遇到奇怪的错误,我遇到了如下报错:
c++: internal compiler error: Killed (program cc1plus)

查询后发现是内存不足所致。有的说用虚拟内存解决,太高大上了。不过既然这是虚拟机,我是采用关机在vmware调分配内存解决的(3.8GB的样子)


三、扫尾、测试

参照这篇博客的第9到12步 csdn博客
在执行第12步前先在终端输入下述命令:

export LD_LIBRARY_PATH=/home/XXX/qt5/5.12.3/gcc_64/lib/

四、

Hooray!

相关标签: 装机