日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[BuildRelease]跨平台构建工具Cmake

發(fā)布時(shí)間:2024/9/5 编程问答 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [BuildRelease]跨平台构建工具Cmake 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一 CMake

CMake 是一個(gè)跨平臺(tái)的構(gòu)建工具,通過一次的cmake script的編寫,能夠生成常見平臺(tái)常見IDE的project文件或maikefile文件,例如生成visual studio project文件,eclipse project文件,makefile等;同時(shí)相對于linux的automake工具生成makefile的過程相對簡單。

?

主頁:http://www.cmake.org/

參考:http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/index.html

Eclipse 插件:http://www.cthing.com/CMakeEd.asp


二 特點(diǎn):

1)配置文件是cmake script,cmake script是特定于software build的專用編程語言;

2)內(nèi)置的對c,c++,java,fortran的依賴的分析;

3)通過cmake script支持swig,qt,fltk;

4)支持幾乎所有的IDE工程文件或makefile的生成,例如visual studio 6-10,eclipse cdt等;

6)使用傳統(tǒng)的時(shí)間戳來檢測文件內(nèi)容的改變;

7)支持并行build;

8)依賴的globle view,可以使用cmake產(chǎn)生依賴圖;

9)支持cross compiler。

10)支持幾乎所有的平臺(tái);

11)與ctest,cpack,cdash 集成;

?

三 CMake的generators

1)cmake在windows上的generator的列表:

2) Linux下generator:

The following generators are available on this platform:
? Unix Makefiles????????????? = Generates standard UNIX makefiles.
? CodeBlocks - Unix Makefiles = Generates CodeBlocks project files.
? Eclipse CDT4 - Unix Makefiles?? = Generates Eclipse CDT 4.0 project files.
? KDevelop3?????????????????? = Generates KDevelop 3 project files.
? KDevelop3 - Unix Makefiles? = Generates KDevelop 3 project files.

3)參考:http://www.cmake.org/Wiki/CMake_Generator_Specific_Information

?

四 實(shí)例

1)過程簡單描述

# 編寫 CmakeLists.txt。
# 執(zhí)行命令 “cmake PATH”?生成 Makefile ( PATH 是 CMakeLists.txt 所在的目錄 )。
# 使用 make 命令進(jìn)行編譯。?

2)簡單實(shí)例(在windows上編譯sample工程)

1】實(shí)例文件結(jié)構(gòu)如下:

2】main.cpp如下:

#include<iostream>
?
int?main()
{
?????std::cout<<"Hello?word!"<<std::endl;
?????
return?0;
}

?3】Cmakelists.txt如下:

project(Sample)
cmake_minimum_required(VERSION?2.8)
aux_source_directory(.?DIR_SRCS)
add_executable(Sample?${DIR_SRCS})

?4】cmakefiles.txt的解釋:

"#"后面的內(nèi)容為注釋。
命令由命令名稱、小括號(hào)和參數(shù)組成,參數(shù)之間使用空格進(jìn)行間隔。
PROJECT(sample)命令用來表示項(xiàng)目名稱為smaple。
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)用來限定需要cmake2.6的版本。
aux_source_directory(<dir> <variable>)該命令會(huì)把參數(shù) <dir> 中所有的源文件名稱賦值給參數(shù) <variable>。
ADD_EXECUTABLE(sample ${DIR_SRCS})表示將變量 DIR_SRCS 中的源文件編譯成一個(gè)名稱為sample的可執(zhí)行文件。

5】生成VS工程文件和build如下:

6】生成Eclipse+MinGW的工程文件如下:

?

五語法

ADD_SUBDIRECTORY( src )指明本項(xiàng)目包含一個(gè)子目錄 src 。

TARGET_LINK_LIBRARIES( main Test )指明可執(zhí)行文件 main 需要連接一個(gè)名為Test的鏈接庫 。

六參考

http://www.ibm.com/developerworks/cn/linux/l-cn-cmake/

http://en.wikipedia.org/wiki/CMake?

?

完!

轉(zhuǎn)載于:https://www.cnblogs.com/itech/archive/2011/09/14/2176234.html

總結(jié)

以上是生活随笔為你收集整理的[BuildRelease]跨平台构建工具Cmake的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。