這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)怎么進行ROS中cmake的簡單使用,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司長期為1000多家客戶提供的網(wǎng)站建設(shè)服務(wù),團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為井岡山企業(yè)提供專業(yè)的成都網(wǎng)站設(shè)計、做網(wǎng)站,井岡山網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
ROS中的編譯操作注意是利用自己的包管理工具
catkin_make
來進行編譯。其中需要配置cmake的編譯配置文件。這里就討論下ROS需要的簡單cmake入門。
cmake是什么?
CMake是個開源的跨平臺自動化建構(gòu)系統(tǒng),它用配置文件控制建構(gòu)過程(build process)的方式和Unix的Make相似,只是CMake的配置文件取名為CmakeLists.txt。Cmake并不直接建構(gòu)出最終的軟件,而是產(chǎn)生標準的建構(gòu)文件(如Unix的Makefile或Windows Visual C++的projects/workspaces),然后再依一般的建構(gòu)方式使用。這使得熟悉某個集成開發(fā)環(huán)境(IDE)的開發(fā)者可以用標準的方式建構(gòu)他的軟件,這種可以使用各平臺的原生建構(gòu)系統(tǒng)的能力是CMake和SCons等其他類似系統(tǒng)的區(qū)別之處。CMake可以編譯源代碼、制做程序庫、產(chǎn)生適配器(wrapper)、還可以用任意的順序建構(gòu)可執(zhí)行文件。CMake支持in-place建構(gòu)(二進文件和源代碼在同一個目錄樹中)和out-of-place建構(gòu)(二進文件在別的目錄里),因此可以很容易從同一個源代碼目錄樹中建構(gòu)出多個二進文件。CMake也支持靜態(tài)與動態(tài)程序庫的建構(gòu)。“CMake”這個名字是"cross platform make"的縮寫。雖然名字中含有"make",但是CMake和Unix上常見的“make”系統(tǒng)是分開的,而且更為高級。
1. 簡單的例子,利用cmake來編譯一個簡單的c文件(Ubuntu 14.04)其他Linux應(yīng)該一樣。
新建 t.c 文件
#include <stdio.h>
int main()
{
printf("hello cmake\n");
}同文件夾下新建 CMakeLists.txt
cmake_minimum_required(VERSION 2.8) project(test) add_executable(test t.c)
在當(dāng)前文件夾運行
$ cmake . $ make
即可得到可執(zhí)行文件 'test',Linux運行可以的得到結(jié)果。
2. 利用cmake編譯opencv
前提是假設(shè)你已經(jīng)安裝好了OpenCV庫。在Ubuntu平臺下運行。
和例子1類似,在當(dāng)前文件夾新建project文件夾,里面分別是src文件夾,build文件夾,和文件CMakeLists.txt
目錄結(jié)果
. |----build |----CMakeLists.txt |----src |---test.cpp
在CMakeLists.txt里面寫入下面的內(nèi)容
cmake_policy(SET CMP0003 NEW)
cmake_minimum_required(VERSION 2.8)
project(test)
find_package(OpenCV REQUIRED)
add_executable(test ./src/test.cpp)
target_link_libraries(test ${OpenCV_LIBS})在 `test.cpp` 里寫下下面的內(nèi)容
#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <stdio.h>
using namespace cv;
using namespace std;
int main(int argc, char* argv[])
{
Mat image;
if (argc != 2 || !image.data)
{
printf("No image data\n");
return -1;
}
image = imread(argv[1], 1);
namedWindow("Display Image");
imshow("Display Image", image);
waitKey(0);
return 0;
}這個文件的作用是讀入圖片并彈出窗口展示這張圖片,進入build文件夾并運行 cmake , make
$ cd build $ cmake ../ $ make $ ./test ../path/to/your/test**.png
你將會看到運行的結(jié)果。
上述就是小編為大家分享的怎么進行ROS中cmake的簡單使用了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
分享題目:怎么進行ROS中cmake的簡單使用
瀏覽路徑:http://chinadenli.net/article24/pgjpce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營銷推廣、動態(tài)網(wǎng)站、網(wǎng)站建設(shè)、小程序開發(fā)、Google、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)