做網(wǎng)站的工資高百度店鋪
一、將git中的代碼克隆進(jìn)電腦以及常用工具介紹
1.安裝git? ? ? ??
首先需要安裝git
sudo apt install git
????????注意一定要加--recursive,因?yàn)槲募杏泻芏唷耙梦募?#xff0c;即第三方文件(庫),加入該選項(xiàng)會(huì)將文件中包含的子模塊(Submodule)也一并克隆下來,否則該部分就是空文件夾。
克隆成功
?2.常用工具(需自行sudo安裝):
(1)htop:相當(dāng)于Windows的任務(wù)管理器,可以看到程序每個(gè)節(jié)點(diǎn)的內(nèi)存占用情況,提供優(yōu)化方向。
(2)terminator:超級終端,相對于原來的終端可以分欄(ctrl+shift+e/o),alt+方向鍵可以選擇在哪個(gè)終端寫字,同時(shí)操作可以通過alt+a全選。ctrl+shift+x放大縮小。
(3)VScode:按指令下載即可
?在對應(yīng)文件夾目錄下輸入code .即可打開當(dāng)前目錄
(4)ros(安裝的話最好是桌面版):機(jī)器人操作系統(tǒng)。正常需要官網(wǎng)下載配置,但是可以一鍵安裝,詳見下篇博文
一鍵安裝ROShttps://blog.csdn.net/LNSTOP/article/details/126599501
二、使用cmake
第一節(jié)中使用 GCC 編譯器
????????我們通常使用一個(gè)叫做“GCC”的編譯器來把我們的 C++ 代碼變成計(jì)算機(jī)可以運(yùn)行的程序。舉個(gè)例子,如果我們有一個(gè)簡單的 C++ 程序,我們可以用?g++
?這個(gè)命令來編譯它。
大型項(xiàng)目的復(fù)雜性
????????當(dāng)項(xiàng)目變得很大時(shí),會(huì)有許多文件,每個(gè)文件里都有不同的類。這些類之間會(huì)有相互依賴的情況,比如一個(gè)類需要用到另一個(gè)類的功能。有時(shí)候我們需要把一些文件編譯成可以運(yùn)行的程序(即可執(zhí)行文件),而有些文件則需要編譯成庫文件,方便多個(gè)程序共享。
手動(dòng)編譯的問題
????????如果只用?g++
?命令來編譯整個(gè)項(xiàng)目,就需要輸入很多指令來告訴編譯器應(yīng)該編譯哪些文件。這樣做不僅很麻煩,還很容易出錯(cuò)。
引入 CMake
????????為了解決這些問題,我們使用了一個(gè)工具叫做“CMake”。CMake 可以幫我們自動(dòng)生成一個(gè)叫“Makefile”的文件,這個(gè)文件包含了所有編譯的指令。?有了 Makefile 后,我們只需要運(yùn)行一個(gè)簡單的命令?make
?就能完成整個(gè)項(xiàng)目的編譯,不需要手動(dòng)輸入一堆指令了。
1.安裝cmake
sudo apt install cmake
安裝成功后輸入cmake --version會(huì)顯示版本號,如下圖
2.基本概念和簡單的 CMake 語法:
CMakeLists.txt 文件
CMake 通過讀取項(xiàng)目中的 CMakeLists.txt
文件來確定如何構(gòu)建項(xiàng)目。每個(gè)目錄都可以包含一個(gè) CMakeLists.txt
文件,用來描述該目錄下的構(gòu)建規(guī)則。
配置文件基本結(jié)構(gòu)
cmake_minimum_required(VERSION 3.10)
project(MyProject)add_executable(my_executable main.cpp)
cmake_minimum_required
?命令
- 設(shè)置 CMake 的最低版本要求:
cmake_minimum_required(VERSION 3.10)
project
?命令
- 定義項(xiàng)目名稱:
project(MyProject)
add_executable
?命令
- 創(chuàng)建可執(zhí)行文件:
這里?add_executable(my_executable main.cpp)
my_executable
?是生成的可執(zhí)行文件的名字,main.cpp
?是包含主函數(shù)的源文件。
?具體如下圖所示:(版本不能過低,否則會(huì)報(bào)錯(cuò))
cmake.進(jìn)行工程分析
?用make命令對工程進(jìn)行編譯
?????????隨后我們發(fā)現(xiàn)在目錄下多出名為helloslam的可執(zhí)行文件,執(zhí)行后即可輸出
?????????當(dāng)源文件與代碼文件很多的時(shí)候,相比于一行一行寫g++而言,cmake就會(huì)很方便了,只需要維護(hù)一個(gè)CMakelist.txt文件即可。
3.更好的編譯方法?
????????如上圖所示,整個(gè)過程結(jié)束后,我們發(fā)現(xiàn)多了很多奇奇怪怪的文件,一個(gè)一個(gè)刪除又過于麻煩,更好的做法就是讓這些中間文件都在一個(gè)中間目錄中,編譯成功后把整個(gè)目錄刪除即可。
更常見的編譯cmake工程做法如下:
mkdir build
cd build
cmake ..
make
?隨后直接再這個(gè)文件夾中執(zhí)行make后編譯即可。中間文件全都在build目錄中。