系统安装ubuntu16.04+cuda8.0+Ros+QT5.12+opencv4.01&contrib+eigen3

一.装ubuntu16.04
Ubuntu 16.04 U盘安装图文教程:https://www.linuxidc.com/Linux/2016-04/130520.htm
资源网站:https://linux.linuxidc.com/
一.1:windows下下载好ubuntu安装.iso文件:
Ubuntu 16.04 LTS官方镜像下载:
32位:http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-i386.iso
64位:http://releases.ubuntu.com/16.04/ubuntu-16.04-desktop-amd64.iso
记得选择64位或32位
一.2:windows下制作启动盘:universal USB installer
在资源网站的目录为: /pub/常用工具/U盘操作系统安装工具- Universal USB Installer最新版/
记得选择64位或32位
一.3:安装ubuntu:
    A。进入bios
    B。修改boot priority 设置为u盘启动
    c。插u盘启动电脑 选择try ubuntu安装(这样能关掉网络,避免安装中联网下载更新包,浪费时间)
    D。启动桌面安装文件,选择自己所需语言,按需求分区(双系统最好留一点swap空间)然后点击继续。安装即可。

二.安装nvidia驱动(显卡为 nvidia Quadro K620 驱动版本:384.130)
由于手动安装可能会导致各种各样奇怪问题。所以这里选择从系统安装
1.系统设置-》软件和更新-》ubuntu软件:勾选前四项;“下载自”选择合适的下载源。例如:aliyun
2.系统设置-》软件和更新-》附加驱动:选择最高版本驱动即可。点击应用更改。等待安装后重启。
3.若安装后能搜索到nvidia x server setting且终端中输入nvidia-smi有显示显卡信息。则安装成功。否则请选择手动安装。
(可以下载uget+arial2下载工具.非常好用)
*4.下载安装uget+arial2
A.update+upgrade
B.终端内输入:sudo apt-get install uget
C.终端内输入:sudo apt-get install aria2
D.打开uget并进行设置:编辑—>设置—>“插件”选项卡,勾选“启用aria2插件”,点击确定退出.在主界面的分类中选择某一分类,右键属性.设置下载地址.


三. 安装cuda8.0(四叉树代码选择的版本)
cuda8.0下载网址:https://developer.nvidia.com/cuda-80-ga2-download-archive(8.0GA2是大家认可的8.0;不要使用GA1)
cuda8.0说明手册:https://docs.nvidia.com/cuda/archive/8.0/
cuda8.0linux下安装指南:https://docs.nvidia.com/cuda/archive/8.0/cuda-installation-guide-linux/index.html(如果安装失败请详细阅读.看看自己是不是双显卡,gcc版本是否支持等)
1.查看是否有支持cuda的gpu:终端中输入: lspci | grep -i nvidia
2.查看gcc和g++版本:终端中输入:gcc --version;g++ --version;(我的是ubuntu16自带5.4 官方明确支持是5.3)
3.查看内核的版本是否支持:在终端中输入:uname -r  ;
因为.run安装文件不包含安装内核header和development包;.deb安装文件提供header和development package.但是版本可能不适配当下系统.所以尽量选择.run文件吧.(内核手动安装比较稳.但是很容易安崩.我的方案是看看版本但不自己安.好在16.4的内核版本为4.15.0-46-generic.应该是不需要手动修改的)重要的一点是不要在安装或安装后升级内核,否则cuda无法识别内核而导致安装失败!(眼泪的教训)内核和内核头文件一定要精准适配,否则也会导致失败!(眼泪的教训)
稳妥一点的方案
    A.终端中输入dpkg-query -s linux-headers-$(uname -r) 查看内核头文件和包的安装状态
    B.显示结果则无需安装直接进行下一步.
    否则需要终端中输入sudo apt-get install linux-headers-$(uname -r) 进行安装
    C.终端中输入dpkg-query -s linux-headers-$(uname -r) 再次检查是否暗号
4.打开网址根据操作系统选择对应的下载包(选择.run文件)下载至/home/用户名
5.禁用nouveau
    AA.检查nouveau驱动,确保没有被加载
    终端内输入lsmod | grep nouveau:若无显示结果则表示被禁用.直接跳至步骤三.6
    A.终端内输入:sudo gedit /etc/modprobe.d/blacklist.conf
    B.在.conf文件中添加如下内容:
        blacklist nouveau
        options nouveau modeset=0
    并保存
    C.使内容生效:
    终端内输入:$ sudo update-initramfs -u
    D.再次检查nouveau驱动
6.打开终端输入:sudo sh cuda_8.0.27_linux.run
不断的按下按键或者s按键使EULA协议往下翻
accept EULA? accept
driver installation? no(已经手动安装过了)
toolkit installation? yes(安的就是这个)
lacation(defult): 回车(选择默认安装路径)
sample installation? yes(用来检查是否安好)
lacation(defult): 回车(选择默认安装路径)
symbolik link:yes
openGL:no(因为我有双显卡,一个是nvidia,一个是集显.安装openGL是针对nvida的.如果选择安装会覆盖集显,导致崩溃)如果是自行安装的话.可以在终端输入中添加--no-opengl-libs
即sudo sh cuda_8.0.27_linux.run --no-opengl-libs
7.设置配置文件
    A.终端内输入sudo gedit ~/.bash_profile
    B.输入如下内容:
    export PATH=/usr/local/cuda-8.0/bin:$PATH
    export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
    保存并退出
    C.使配置生效:source ~/.bashrc
8.检查是否安装成功:
A.终端内输入:nvcc -V    有结果就是对的
B.sample测试:
终端内输入:
cd /usr/local/cuda/samples
cd 1_Utilities/deviceQuery
make
./deviceQuery1234
如果显示的是一些关于GPU的信息,则说明安装成功了。
*9.双显卡选择哪一个来显示
需要配置/etc/X11/xorg.conf 文件.或者直接将显示器连接到想用的显卡上.
同时连接两个显卡时可能出现启动时默认选择集显显示的问题.稳妥的解决方法是:不练接集显的hdmi输出就行(眼泪的教训)

四.安装ROS
1.设置source list
终端内输入:sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
2.设置key
终端内输入:sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA11
3.更新
sudo apt-get update  
sudo apt-get upgrade
4.安装
终端内输入:sudo apt-get install ros-kinetic-desktop-full
5.安装完确保安上了&查看可用包
终端内输入:export | grep ROS
终端内输入:apt-cache search ros-kinetic  
6.初始化rosdep
在使用ROS之前必须要初始化rosdep
终端内输入:sudo rosdep init  
终端内输入:rosdep update
7.配置环境
终端内输入:echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc  
终端内输入:source ~/.bashrc  
8.安装building package的依赖
终端内输入:sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential  
9.测试
A.终端1输入:roscore
B.终端2输入:rosrun turtlesim turtlesim_node      弹出一个小乌龟窗口
C.终端3输入:rosrun turtlesim turtle_teleop_key   通过方向键控制小乌龟的移动
D.终端4输入:rosrun rqt_graph rqt_graph           查看ros节点信息
*E.终端5输入:rosrun rvizrviz 查看topic输出
*10.新建一个Ros工作空间
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它: (或者只有软件包,没有CMakeLists.txt,但是软件包内有就行)
$ cd ~/catkin_ws/
$ catkin_make
catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.*sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。接下来首先source一下新生成的setup.*sh文件:
在终端内cd ~/catkin_ws 然后source devel/setup.bash  不source会没法运行!!!!!(眼泪的教训)


五.安装qt5.12
安装包下载网址:http://download.qt.io/archive/qt/(选择合适的ubuntu版本即可.我选的是5.12)
1.复制文件至/home/用户名
2.终端内输入:sudo chmod +x qt-opensource-linux-x64-5.12.0.run(提供权限)
3.终端内输入:sudo ./qt-opensource-linux-x64-5.12.0.run(安装过程为图形界面,选择需要的插件(或全选或默认)一直next到安装)
4.路径配置
在命令端口中输入命令:sudo vim /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf  打开default.conf文件.
将第一行改为自己安装路径(这是我的安装路径/home/freja/Qt5.12.0/5.12.0/)下的bin目录的路径,第二行改为Qt5.12.0目录的路径.如下:
/home/freja/Qt5.12.0/5.12.0/gcc_64/bin
/home/freja/Qt5.12.0/5.12.0/
保存并退出.
5.安装libgl1-mesa-dev(mesa封装的gl)
终端中输入:sudo apt-get install libgl1-mesa-dev 进行安装
6.测试:打开qt新建工程并运行


六.安装opencv4.0.1和contrib包
opencv4.0.1安装包本体及其contrib包下载
本体:https://github.com/opencv/opencv/releases
contrib:https://github.com/opencv/opencv_contrib/releases
1.sudo apt-get update
sudo apt-get upgrade
2.安装依赖
A.sudo apt-get install build-essential
B.sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
C.sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
3.安装cmake gui
sudo apt-get install cmake-qt-gui
4.解压两个压缩包,然后将 opencv_contrib-4.0.1 放到 opencv-4.0.1 里面,双击进入解压出来的opencv-4.0.1 文件夹,右键打开终端
A.输入mkdir build
B.输入cd build
C.输入cmake-gui ..
5.然后会弹出CMake的图形化界面,在上方的两个路径里面,选择好代码所在文件夹的路径和要安装的路径
6.点击左下方的Configure按钮,选择Unix Makefiles,选择Use default native compilers(默认),然后点击Finish
需要下载一些文件,要等待一段时间。然后CMake即载入默认配置,如下图所示:
窗口的中间部分即配置列表,这里和使用cmake命令直接生成makefile文件一致的。正如上文所述,这里通过图形界面的方式来进行配置,更加直观方便。
7.这里需要对几个地方进行修改:
A.在CMAKE_BUILD_TYPE 值处输入RELEASE,其他保持不变(如果已经存在就不必修改)。
下方的CMAKE_INSTALL_PREFIX显示了默认的安装目录,这里我修改为: /usr/local/opencv4 (安装成功后,这个文件夹下面是有东西的,如果没有东西,安装没成功)
生成makefile文件最后执行 make install时就会安装到这个目录,这里可以根据个人需求更改。
B.在OPENCV_EXTRA_MODULES_PATH处,选择输入目录
然后选择opencv_contrib-4.0.1 文件夹中的modules文件夹,注意,不是只选中opencv_contrib-4.0.1 文件夹就好了,需要选中里面的modules文件夹! 如下图所示,然后点Choose。
注:OPENCV_EXTRA_MODULES_PATH 是用来指定要编译的扩展模块,其中包括OpenCV_contrib模块。
C.OPENCV_ENABLE_NONFREE 选中(SURF 专利问题)
点击Generate生成配置文件,这一步应该比较快就完成了。
8、接着,在build目录下打开终端,输入:
sudo make
sudo make install
9.配置环境变量
A.打开文件:终端内输入:sudo gedit /etc/ld.so.conf.d/opencv.conf
B.添加:/usr/local/opencv4/lib保存并退出
C.使生效:终端内输入:sudo ldconfig
D.更改环境变量:sudo gedit /etc/bash.bashrc
E.在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/opencv4/lib/pkgconfig
export PKG_CONFIG_PATH
10.使生效:source .bashrc
11.测试文件
配置pro文件:
添加:
INCLUDEPATH +=/usr/local\
              /usr/local/opencv4/include\
              /usr/local/opencv4/include/opencv4\
              /usr/include/eigen3/Eigen#for eigen3
LIBS += -L/usr/local/opencv4/lib\
        -lopencv_core\
        -lopencv_imgproc\
        -lopencv_highgui\
        -lopencv_imgcodecs\
        -lopencv_videoio\
        -lopencv_calib3d\
        -lopencv_features2d\
        -lopencv_xfeatures2d\#aiming for SURF in opencv_contrib
        -lopencv_flann##aiming for flannbasedmatcher
QMAKE_CXXFLAGS += "-mssse3"#SSE need it
INCLUDEPATH+=/usr/lib64/libpthread.a#multi thread need it
LIBS+=-lpthread#multi thread need it

七.安装eigen3
终端内输入:sudo apt-get install libeigen3-dev
确认安装路径:
sudo updatedb
locate eigen3

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章