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

编译一个程序时出现的一些问题

程序员文章站 2022-03-26 10:37:11
...

从最开始编译一个程序到最后成功时的一些问题:
一.前期准备工作
1.从登录githit.账号(…)密码(…)
在my-group里面ssh里添加key
2.配置个girkraken,gitkraken就是git的图形化界面,使得操作git的时候不用命令,可以再图形化界面上操作.(具体配置方式见代码管理PDF)
3.克隆代码分为两种方式,一个在gitkraken左上角的克隆URL,另一个是在终端克隆,这两个都是在ssh里面复制克隆地址,终端克隆选择的话长一点,
4.在克隆下来的.gitmoudul更改自己的用户名,但是.git里面不要改,因为.git是代码审查者权限,使得gitkraken 可以在githit上克隆代码,更改为自己的账户输入方式*(可能要试好几次),下面的ip地址要弄对了,是在克隆的地方ip地址.
gitdir=$(git rev-parse --git-dir); scp -p -P 29418 aaa@qq.com:hooks/commit-msg ${gitdir}/hooks
:hooks之前为新的服务器网站,出现连接100%和网速才算可以.
5.在gitkraken里面更新(如果在document要initialize和update(此时前面有个三角警告号)),config要更新,然后拷到devel,lib,(ab)里和可执行文件放在一起.
6.开始catkin_make,创立一个catkin空间,创建一个src,然后初始化空间

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace
cd ~/catkin_ws/
catkin_make
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc

关闭所有的terminal再重新打开,使环境变量生效。
可以source /opt/ros/kinetic/setup.bash
然后再将下载的代码拷入src中,再catkin_make

二.安装各种依赖各种库
难点,cuda,显卡驱动,caffe,opencv的安装
几种常见的命令:(这些库的版本号都是在cmakelist中体现出来的)
显示显卡信息:nvidia-smi,可以显示驱动版本,cuda版本
查看cuda和cudnn版本
cuda: cat /usr/local/cuda/version.txt || nvcc --version
cudnn:cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

1.安装完这些库,cmakelist中需要将调用这些库,不是每个cmakelist都要用到这些库,所以要查找
如`#cuda
include_directories(/usr/local/cuda-9.0/include)
link_directories(/usr/local/cuda-9.0/lib64)

#tensorrt
include_directories(/home/maokang/newlibrary/TensorRT-4.0.1.6/include)
link_directories(/home/maokang/newlibrary/TensorRT-4.0.1.6/lib)

include和link,include一般就是连接到库下面的include路径,link一般是连接到库下面的lib路径

#caffe
include_directories(~/newlibrary/caffe/include ~/newlibrary/caffe/build/lib ~/newlibrary/caffe)
link_directories(~/newlibrary/caffe/build/lib)
~这个表示主文件夹,可以连接到多个地方,如上图所示

2.使用catkin_make的时,报错cuda的时候,可能要用到以下命令,这样就能调用cuda了
catkin_make -DDLIB_USE_CUDA=1

3.在找不到darknet库的时候,从官网下载darknet的源码,然后按照官网教程进行编译,将编译得到的.so库拷贝到usr/local/lib 里,如果还是不行,要将之前在/usr里的所有.so全部删除(尤其是之前用过)删除原有darknet的操作
编译一个程序时出现的一些问题
4.

(3) “open project”或者“文件”——“打开文件或项目”,选择catkin工作空间src里的CMakeLists.txt。在configure project这一步一定要注意要选择Desktop这一项,imported Kit这一项可选可不选。
点击configure project会出现下面的提示信息,
编译程序会弹出提示框,如下图,一定要选择overwrite changes in cmake
如下图

qt中找不到cmake_prefix_path,在qt工具,选项,中不仅可以删除没用的import,在最下面的
camke configure /change/第三行

改为CMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX},桌面选项和默认选项
CMAKE_PREFIX_PATH:STRING=/opt/ros/kinetic (import kit选项)

编译一个程序时出现的一些问题编译一个程序时出现的一些问题