CMake使用教程Word文档下载推荐.docx

上传人:b****5 文档编号:16104203 上传时间:2022-11-20 格式:DOCX 页数:12 大小:327.31KB
下载 相关 举报
CMake使用教程Word文档下载推荐.docx_第1页
第1页 / 共12页
CMake使用教程Word文档下载推荐.docx_第2页
第2页 / 共12页
CMake使用教程Word文档下载推荐.docx_第3页
第3页 / 共12页
CMake使用教程Word文档下载推荐.docx_第4页
第4页 / 共12页
CMake使用教程Word文档下载推荐.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

CMake使用教程Word文档下载推荐.docx

《CMake使用教程Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《CMake使用教程Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。

CMake使用教程Word文档下载推荐.docx

CMake使用步骤:

运行GUI的cmake界面:

cmake-2.8.1-win32-x86/bin/cmake-gui.exe

执行Configure:

运行之后,生成了如下文件:

生成Makefile:

执行Generate之后生成如下文件:

运行make进行编译:

编译完成后,在build目录生成Tutorial.exe,运行Tutorial.exe25就可以看到运行结果:

运行makeinstall安装程序:

运行maketest进行测试:

通过cmaketutorial学习CMake配置方法

//www.cmake.org/cmake/help/cmake_tutorial.html

可以在源代码的Tests/Turorial目录中找到这个手册对应的代码。

1、Step1。

(如果不知道如何使用cmake,以及如何使用编译产生的Turorial.exe,可先看下前面“CMake使用步骤”的说明,它以Step4为例详细介绍了使用过程,Step1的配置可能不够完全,比如无法运行makeinstall,无法运行maketest,但可以参考。

简单的程序编译。

(1)运行GUI的cmake,指定要编译的源代码路径和二进制文件路径(会自动创建)。

(2)点击Configure,配置成功后,再点击Generate。

配置需要选择合适的编译器,虽然我安装了VC2008,但没有配置成功;

选择UnixMakefiles,配置成功,它自动找到了DevC++下的gcc.exe等编译器。

(3)在build3目录执行make,就能够编译生成Turorial.exe了。

D:

/Projects/Lab/testngpp/cmake-2.8.1/Tests/Tutorial/Step1/build3>

make

LinkingCXXexecutableTutorial.exe

[100%]BuilttargetTutorial

可以运行一下Turorial.exe:

Tutorial.exe

Tutorial.exeVersion1.0

Usage:

Tutorial.exenumber

Tutorial.exe4

Thesquarerootof4is2

2、Step2

把子目录编译为库,并且链接到最终的可执行文件。

include_directories("

${PROJECT_SOURCE_DIR}/MathFunctions"

) 

add_subdirectory(MathFunctions) 

#使得子目录MathFunctions也能被编译

#addtheexecutable

add_executable(Tutorialtutorial.cxx)

target_link_libraries(TutorialMathFunctions)

产生makefile:

在GUI上点击Configure,之后Generate还是灰色,再次点击Configure,Generate就可以点击了。

编译:

在build目录运行make,即可开始编译,但是开始会报告sh.exe运行异常,应该是Tools下的UnxUtils的sh.exe与Win7不兼容,发现有如下make文件,估计是它导致的,于是把它重命名,不使用UnxUtils下的make,就OK乐。

/Tools/CMD/UnxUtils/usr/local/wbin/make.exe

编译过程:

/Projects/Lab/testngpp/cmake-2.8.1/Tests/Tutorial/Step2/build>

[50%]BuildingCXXobjectMathFunctions/CMakeFiles/MathFunctions.dir/mysqrt.cxx

.obj

LinkingCXXstaticlibrarylibMathFunctions.a

[50%]BuilttargetMathFunctions

3、Step3

支持makeinstall把程序安装到系统指定目录,并且运行一些测试检查它是否能够正常工作。

a、安装时使用的基础目录,由CMAKE_INSTALL_PREFIX指定。

b、可以通过一个很简单的用例检查程序是否运行起来,没有出现异常。

(TurotialRuns只是一个用例名字)

add_test(TutorialRunsTutorial25)

c、macro方式进行多组数据的测试是非常简洁方便的。

#defineamacrotosimplifyaddingtests,thenuseit

macro(do_testargresult)

add_test(TutorialComp${arg}Tutorial${arg})

set_tests_properties(TutorialComp${arg}

PROPERTIESPASS_REGULAR_EXPRESSION${result})

endmacro(do_test)

#doabunchofresultbasedtests

do_test(25"

25is5"

do_test(-25"

-25is0"

执行makeinstall:

/Projects/Lab/testngpp/cmake-2.8.1/Tests/Tutorial/Step3/build>

makeinstall

[50%]"

BuilttargetMathFunctions"

[100%]"

BuilttargetTutorial"

Installtheproject...

--Installconfiguration:

"

"

--Installing:

C:

/ProgramFiles/Tutorial/bin/Tutorial.exe

/ProgramFiles/Tutorial/include/TutorialConfig.h

/ProgramFiles/Tutorial/bin/libMathFunctions.a

/ProgramFiles/Tutorial/include/MathFunctions.h

安装结果:

C:

/ProgramFiles/Tutorial>

tree/f

.

├─bin

│libMathFunctions.a

│Tutorial.exe

└─include

MathFunctions.h

TutorialConfig.h

执行maketest:

maketest

Runningtests...

TestprojectD:

/Projects/Lab/testngpp/cmake-2.8.1/Tests/Tutorial/Step3/build

Start1:

TutorialRuns

1/5Test#1:

TutorialRuns.....................Passed0.01sec

Start2:

TutorialComp25

2/5Test#2:

TutorialComp25...................Passed0.01sec

Start3:

TutorialNegative

3/5Test#3:

TutorialNegative.................Passed0.01sec

Start4:

TutorialSmall

4/5Test#4:

TutorialSmall....................Passed0.00sec

Start5:

TutorialUsage

5/5Test#5:

TutorialUsage....................Passed0.00sec

100%testspassed,0testsfailedoutof5

TotalTesttime(real)=0.13sec

修改一个测试用例,让它不过:

修改顶层CMakeLists.txt,然后重新Configure和Generate,然后maketest即可看到结果。

TutorialComp25...................***FailedRequiredregularexpre

ssionnotfound.Regex=[25is3

]0.01sec

Tu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1