系統安裝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

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