配置cmake出错_Ubuntu16.04环境配置

a0039596b90d13d780febffa370f28e8.png

记录下平时配置ubuntu16.04(nvidia、CUDA、cudnn、opencv、jsoncpp、ZMQ、libevent)的过程,结合了多个帖子,侵删。

1.配置Nvidia驱动程序

首先去nvidia官网(http://www.nvidia.cn/Download/index.aspx?lang=cn)下载适配GPU的驱动,选择run版本

1. ubuntu 16.04默认安装了第三方开源的驱动程序nouveau,安装nvidia显卡驱动首先需要禁用nouveau,不然会碰到冲突的问题,导致无法安装nvidia显卡驱动。

编辑文件blacklist.conf

sudo gedit /etc/modprobe.d/blacklist.conf

习惯使用gedit,也可以使用vim编辑

若未安装vim则sudo apt-get install vim安装或使用vi

在文件最后部分插入以下两行内容

blacklist nouveau

options nouveau modeset=0

更新系统

sudo update-initramfs -u

重启系统(一定要重启)

验证nouveau是否已禁用

lsmod | grep nouveau

3ddcb4ce1e1298c7265d9c32c940ddec.png

没有信息显示,说明nouveau已被禁用,接下来可以安装nvidia的显卡驱动。

2.将在home文件夹下创建environments文件夹,拷贝下载好的.run文件

在ubuntu下按ctrl+alt+f1进入命令行界面,然后输入用户名和密码。接着在命令行界面下输入:

sudo service lightdm stop //这个是关闭图形界面,不执行会出错。

然后卸载掉原有驱动:

sudo apt-get remove nvidia-* (若安装过其他版本或其他方式安装过驱动执行此项)

3.给驱动run文件赋予执行权限:cd ./environments/
sudo chmod a+x NVIDIA-Linux-x86_64-396.18.run

4.安装

sudo ./NVIDIA-Linux-x86_64-410.78.run -no-x-check -no-nouveau-check -no-opengl-files

//只有禁用opengl这样安装才不会出现循环登陆的问题

-no-x-check:安装驱动时关闭X服务

-no-nouveau-check:安装驱动时禁用nouveau

-no-opengl-files:只安装驱动文件,不安装OpenGL文件

安装过程中的选项:(有*标记的为我遇到的情况,其余供参考)

*The distribution-provided pre-install script failed! Are you sure you want to continue?

选择 yes 继续。

*Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?

选择 No 继续。

问题没记住,选项是:install without signing

问题大概是:Nvidia’s 32-bit compatibility libraries? 选择 No 继续。

*Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.

选择 Yes 继续

检查驱动是否安装成功:
nvidia-smi
如果出现如下提示,则说明安装成功:

06fcb6a3bd947af504e92226edd7af14.png

2.安装CUDA与CUDNN

1)安装CUDA

到NVIDIA官网中,找到CUDA9.0并下载,下载链接:https://developer.nvidia.com/cuda-toolkit-archive

c50d069070ad2202e4ca13f9764aa8f1.png

将文件放在environments目录下

chmod a+x environment/cuda_9.0.176_384.81_linux.run

./ environment/cuda_9.0.176_384.81_linux.run

单击回车,一路往下运行,会显示比例。

直到提示“是否为NVIDIA安装驱动nvidia-384?”,选择否,因为已经安装好驱动程序了,其他的全都是默认,不过要记住安装位置,默认是安装在/usr/local/cuda文件夹下。

配置环境变量,运行如下命令打开profile文件

sudo gedit /etc/profile

打开文件后在文件末尾添加路径,也就是安装目录,命令如下:

export PATH=/usr/local/cuda-9.0/bin:$PATH

export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64$LD_LIBRARY_PATH

保存,然后重启电脑

reboot

测试CUDA的例子

cd /usr/local/cuda-9.0/samples/1_Utilities/deviceQuery

sudo make

./deviceQuery

如果显示的是关于GPU的信息,则说明安装成功了。

有时候cuda在运行是会报错,应该在~/.bashrc中添加环境变量

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64

export PATH=$PATH:/usr/local/cuda-9.0/bin

export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-9.0

2)安装cudnn

官方下载链接:https://developer.nvidia.com/rdp/cudnn-archive

下载是以solitairetheme8结尾的,需要将后缀名改为.tgz,然后解压到environments。

复制文件到cuda安装路径下:

sudo cp cuda/include/cudnn.h /usr/local/cuda/include

sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64

sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*

然后查看cudnn版本,出现版本号则安装成功

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

3、安装opencv3.4.2(感觉这个安装不容易出错,所以都用的这个版本)

在Opencv官网下载OpenCV3.4.2 Sources 网址链接:https://opencv.org/releases.html

a275670440a47ab761c2cf19297ad357.png

将下载好的压缩包放置于environments文件夹下,unzip opencv-3.4.2.zip

进入到解压后的文件包中安装依赖库。

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

安装cmake

sudo apt-get install cmake

安装完cmake之后 ,创建编译文件夹build

mkdir build

cd build

执行cmake

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

如果卡在下载ippicv_2019_lnx_intel64_general_20180723.tgz

可以手动下载  ippicv_2019_lnx_intel64_general_20180723.tgz

解决办法:

https://github.com/opencv/opencv_3rdparty/tree/ippicv/master_20180723/ippicv

可放在默认的下载路径 ~/DownLoad/

修改opencv里相关配置文件

打开终端,输入

gedit /home/June/environments/opencv-3.4.2/3rdparty/ippicv/ippicv.cmake

修改“https://raw.githubusercontent.com/opencv/opencv_3rdparty/${IPPICV_COMMIT}ippicv/”

为手动下载的 ippicv_2019_lnx_intel64_general_20180723.tgz文件的本地路径(也就是将网络下载的模式改为本地文件下载的模式):

“/home/June/environments/” #(仅供参考,根据自己的路径填写)

重新cmake

等待cmake命令执行完成然后执行make

sudo make all -j8 //(如果显卡较好也可以-j12,显卡性能不够就sudo make就ok了)

sudo make install

sudo make install 执行完毕后OpenCV编译过程就结束了,接下来就需要配置一些OpenCV的编译环境首先将OpenCV的库添加到路径,从而可以让系统找到

sudo gedit /etc/ld.so.conf.d/opencv.conf

执行此命令后打开的可能是一个空白的文件,不用管,只需要在文件末尾添加

/usr/local/lib

执行如下命令使得刚才的配置路径生效

sudo ldconfig

配置bash

sudo gedit /etc/bash.bashrc

在最末尾添加

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

export PKG_CONFIG_PATH

保存,执行如下命令使得配置生效

source /etc/bash.bashrc

更新

sudo updatedb

OpenCV安装配置完成接下来测试是否安装成功。

cd到opencv/smaples/cpp/example_cmake目录下我们可以看到这个目录里官方已经给出了一个cmake的example我们可以拿来测试下按顺序执行,执行过程如下:

# 进入opencv的安装目录

1、cd opencv-3.4.2/samples/cpp/example_cmake

2、cmake .

3、make

4、./example_cmake

如果你的ubuntu有摄像头,就可以看到摄像头打开,并且左上角有一个“hello,opencv”。没有摄像头就只显示“hello,opencv”。

4、jsoncpp的安装与配置

安装jsoncpp前必须安装scons

scons下载地址:

http://sourceforge.net/projects/scons/files/scons/2.1.0/scons-2.1.0.tar.gz/download

jsoncpp下载地址:

http://sourceforge.net/projects/jsoncpp/files/

下载放置于environment文件夹

解压scons-2.1.0.tar.gz

tar -zvxf scons-2.1.0.tar.gz

/home/xx/environments/目录下,在/home/xx/environments/下,执行命令:tar -zvxf scons-2.1.0.tar.gz,会将解压的文件放在scons-2.1.0下。

安装scons

进入到解压目录scons-2.1.0下面,执行命令:

sudo python setup.py install

解压jsconcpp

tar -zvxf jsoncpp-src-0.5.0.tar.gz

解压到environments/下,在environments/下,执行命令:tar -zvxf jsoncpp-src-0.5.0.tar.gz

将/jsoncpp-src-0.5.0/include/目录下的json文件夹拷贝到/usr/include/

在root根目录 / 下,进入目录 :

cd

进行拷贝:

sudo cp -r ./jsoncpp-src-0.5.0/include/json /usr/include/

sudo scons platform=linux-gcc

将jsoncpp-src-0.5.0/libs/linux-gcc-4.8.5/目录下的libjson_linux-gcc-4.8.5_libmt.a 和libjson_linux-gcc-4.8.5_libmt.so拷贝到/usr/local/lib/下,并为了方便使用,将其重命名为libjson.a 和 libjson.so

在root根目录下:

进入目录linux-gcc-4.8.5:

cd /home/xx/environments /jsoncpp-src-0.5.0/libs/linux-gcc-4.8.5

拷贝:

sudo cp libjson_linux-gcc-4.8.5_libmt.a /usr/local/lib

sudo cp libjson_linux-gcc-4.8.5_libmt.so /usr/local/lib

进入/usr/local/lib 目录,重命名链接库:

cd /usr/local/lib

sudo mv libjson_linux-gcc-4.8.5_libmt.a libjson.a

sudo mv libjson_linux-gcc-4.8.5_libmt.so libjson.so

9. 配置链接路径

直接运行jsoncpp文件,-ljson,系统会找不到xxx.so动态链接库。

在根目录下:

sudo gedit /etc/ld.so.conf

在 etc/ld.so.conf 下加入 /usr/local/lib 这一行,保存。

运行:sudo /sbin/ldconfig -v 更新一下配置。

5、安装ZMQ

https://blog.csdn.net/huoxingrenhdh/article/details/86688142

依赖包安装:

sudo apt-get install autoconf automake uuid-dev

sudo apt-get install python-dev

a.zmq安装包下载

http://zeromq.org/intro:get-the-software

下载POSIX tarball,得到zeromq-2.1.7.tar.gz

b.解压

tar -xvf zeromq-2.1.7.tar.gz

解压后得到zeromq-2.1.7文件夹

c.安装

cd zeromq-2.1.7

将看到configure

sudo ./configure

ls

将看到MakeFile

sudo make

sudo make install

sudo ldconfig

6、安装libevent(*)

https://libevent.org/下载:

ec443451f80b6abbd8342d54a1df8db1.png

tar -zxvf libevent-2.0.22-stable.tzr.gz

cd libevent-2.0.22-stable

chmod a+x configure

./configure --prefix=/usr

make

sudo make install

检查是否libevent已经安装完毕

ls -al /usr/lib | grep libevent

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在非root用户下安装OpenCV4并使用g++/CMake编译,可以按照以下步骤进行操作: 1. 安装必要的依赖项 ``` sudo apt-get update sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev ``` 2. 下载OpenCV4源代码 ``` git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.0.0 ``` 3. 创建一个build目录并进行编译 ``` mkdir build cd build cmake -DCMAKE_INSTALL_PREFIX=$HOME/opencv_install -DCMAKE_BUILD_TYPE=Release .. make -j8 make install ``` 其中,`$HOME/opencv_install` 是你想要安装OpenCV4的路径。 4. 配置环境变量 将以下内容添加到你的`.bashrc`文件中: ``` export PKG_CONFIG_PATH=$HOME/opencv_install/lib/pkgconfig:$PKG_CONFIG_PATH export LD_LIBRARY_PATH=$HOME/opencv_install/lib:$LD_LIBRARY_PATH ``` 然后执行以下命令使其生效: ``` source ~/.bashrc ``` 5. 编写CMakeLists.txt并进行编译 在你的项目目录中创建一个 `CMakeLists.txt` 文件,并在其中添加以下内容: ``` cmake_minimum_required(VERSION 2.8) project(your_project_name) find_package(OpenCV REQUIRED) add_executable(your_executable_name your_source_files.cpp) target_link_libraries(your_executable_name ${OpenCV_LIBS}) ``` 将 `your_project_name` 和 `your_executable_name` 分别替换为你的项目名和可执行文件名。 然后在项目目录下创建一个 `build` 目录,并在其中进行编译: ``` mkdir build cd build cmake .. make ``` 编译完成后,你的可执行文件将位于 `build` 目录下。 以上就是在非root用户下安装OpenCV4并使用g++/CMake编译的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值