- 軟件大?。?span>10.45M
- 軟件語言:英文
- 軟件類型:國外軟件
- 軟件類別:免費(fèi)軟件 / 編程工具
- 更新時間:2018-08-27 09:30
- 運(yùn)行環(huán)境:WinAll, WinXP, Win7, Win8
- 軟件等級:
- 軟件廠商:
- 官方網(wǎng)站:http://www.lz0519.com/
2.05M/中文/10.0
55KB/中文/10.0
1.45M/中文/10.0
4.60M/中文/8.7
202.00M/英文/5.0
cmake安裝能夠通過最方便的打包測試以及構(gòu)建編程服務(wù)等功能,幫助用戶們實(shí)現(xiàn)最佳的編譯器環(huán)境的設(shè)置,讓你能夠更好的進(jìn)行各類編程開發(fā)服務(wù),支持獨(dú)立文件的配置功能,更好的解決各類編程問題!
CMake是一個跨平臺的安裝(編譯)工具,可以用簡單的語句來描述所有平臺的安裝(編譯過程)。他能夠輸出各種各樣的makefile或者project文件,能測試編譯器所支持的C++特性,類似UNIX下的automake。
運(yùn)行GUI的cmake界面:
執(zhí)行Configure:
運(yùn)行之后,生成了如下文件:
生成Makefile:
執(zhí)行Generate之后生成如下文件:
運(yùn)行make進(jìn)行編譯:
編譯完成后,在build目錄生成Tutorial.exe,運(yùn)行Tutorial.exe 25就可以看到運(yùn)行結(jié)果:
運(yùn)行make install安裝程序:
運(yùn)行make test進(jìn)行測試:
CMake是一款免費(fèi)實(shí)用的編程工具,旨在構(gòu)建、測試和軟件打包。該軟件是用于控制軟件使用簡單的平臺和編譯器編譯過程獨(dú)立配置文件。CMake生成本機(jī)makefile和工作區(qū),可以使用您所選擇的編譯器環(huán)境。
CMake的所有的語句都寫在一個叫:CMakeLists.txt 的文件中。當(dāng)CMakeLists.txt文件確定后,可以用ccmake命令對相關(guān) 的變量值進(jìn)行配置。這個命令必須指向CMakeLists.txt所在的目錄。配置完成之后,應(yīng)用cmake命令生成相應(yīng)的makefile(在Unix like系統(tǒng)下)或者 project文件(指定用window下的相應(yīng)編程工具編譯時)。
其基本操作流程為:
$> ccmake directory
$> cmake directory
$> make
其中directory為CMakeList.txt所在目錄;
第一條語句用于配置編譯選項,如VTK_DIR目錄 ,一般這一步不需要配置,直接執(zhí)行第二條語句即可,但當(dāng)出現(xiàn)錯誤時,這里就需要認(rèn)為配置了,這一步才真正派上用場;
第二條命令用于根據(jù)CMakeLists.txt生成Makefile文件;
第三條命令用于執(zhí)行Makefile文件,編譯程序,生成可執(zhí)行文件;
CMake的執(zhí)行就是這么簡單,其難點(diǎn)在于如何編寫CMakeLists.txt文件,下面結(jié)合例子簡單介紹CMakeLists.txt的編寫,看下面這個CMakeLists.txt
#project name
PROJECT(test_math)
#head file path
INCLUDE_DIRECTORIES(
include
)
#source directory
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
#set environment variable
SET(TEST_MATH
${DIR_SRCS}
)
#set extern libraries
SET(LIBRARIES
libm.so
)
#add executable file
ADD_EXECUTABLE(../bin/bin ${TEST_MATH})
#add link library
TARGET_LINK_LIBRARIES(../bin/bin ${LIBRARIES})
或者用下面這個CMakeLists.txt
#project name
PROJECT(test_math)
#head file path
INCLUDE_DIRECTORIES(
include
)
#source directory
AUX_SOURCE_DIRECTORY(src DIR_SRCS)
#set environment variable
SET(TEST_MATH
${DIR_SRCS}
)
#add executable file
ADD_EXECUTABLE(../bin/bin ${TEST_MATH})
#add link library
TARGET_LINK_LIBRARIES(../bin/bin m)
這是一個測試數(shù)學(xué)函數(shù)的程序的CMakeLists.txt,"#"后面為注釋的內(nèi)容,CMake的命令全部為大寫
第2行指定生成的工程名為test_math
第4行指定頭文件目錄為include
第8行指定源文件目錄為src,并將其賦值給環(huán)境變量DIR_SRCS
第10行設(shè)定環(huán)境變量TEST_MATH的值為環(huán)境變量DIR_SRCS的值,此處用于顯示如何用環(huán)境變量對環(huán)境變量進(jìn)行賦值
第14行將數(shù)學(xué)函數(shù)庫賦值給環(huán)境變量LIBRARIES,當(dāng)然,可以不用這個環(huán)境變量,而在后面直接使用該庫名
第18行用于指定生成文件,將環(huán)境變量TEST_MATH目錄下的所有文件編譯生成../bin目錄下的可執(zhí)行文件bin
第20行指定../bin/bin執(zhí)行時的鏈接庫為環(huán)境變量LIBRARIES的值-libm.so
下面給出源文件
/src/main.c:
#include<stdio.h>
#include"../include/a.h"
int main()
{
double b=25.0;
double a=0.0;
a=get_sqrt(b);
printf("a is %lf, b is %lf\n",a,b);
return 0;
}
/src/a.c
#include"../include/a.h"
double get_sqrt(double var1)
{
return sqrt(var1);
}
/include/a.h
#ifndef A_FILE_HEADER_INC
#define A_FILE_HEADER_INC
#include<math.h>
double get_sqrt(double var1);
#endif
將CMakeLists.txt放在當(dāng)前目錄下,執(zhí)行CMakeLists.txt
$> cmake .
$> make
即可生成可執(zhí)行文件,在目錄/bin下的bin文件,好了運(yùn)行看其效果是否和所想一樣。
請描述您所遇到的錯誤,我們將盡快予以修正,謝謝!
*必填項,請輸入內(nèi)容