win10如何配置cmake

1.怎么在cmake的配置文件里加入

cmake可以通过让开发者描述build参数在一个简单地可以移植的文本文件里,这个文件能够被cmake用来产生类似于ms visual studio和apple's xcode的项目文件,当然也有*nix下的makefile。

cmake给同一平台,多机开发环境的很多帮助:

自动搜索所需要的程序,库,头文件的能力,这包含了环境变量和windows的注册表等信息

能够在源码树外进行build,这个功能在很多unix环境下很有益处,这个功能使得开发者可以很轻松的删掉整个build目录,而不会担心误删源码文件

创建复杂自定义命令的能力,比如自动生成qt的moc文件等等

提供配置选项用于额外的组件,比如几个vtk的库是可选的,那么cmake提供选择build哪些库

能够从一个简单地text文件自动生成workspace和project文件

能够很简单的选择使用静态库还是共享库

自动生成文件依赖,并且支持并行build

当开发跨平台的软件时,cmake还能提供其他特性:

能够测试平台的字节序和其他硬件特性

一整套的build配置文件,能够在多平台上很好地工作

支持在多平台上创建共享库

最近cmake项目的进展是拥有了软件测试支持——ctest,此外还有个cpack,是设计用来支持跨平台分发软件的,能够创建本地安装文件,比如可以被nsis,rpm,cygwin等使用。

此外还有支持了xcode和vs10。加入了交叉编译功能,cmake能够很好地处理host系统和目标系统的区别。

2.怎样设定cmake中的cmake

给你个例子:

project(NumRandom)

cmake_minimum_required(VERSION 2.8)

add_definitions(-D_UNICODE -DUNICODE)

add_definitions("/wd4819")

if(NOT ${CMAKE_BUILD_TYPE} MATCHES "Debug")

set(WINDOWS WIN32)

add_definitions(-D_IRR_STATIC_LIB_)

set(LIBRARIES Irrlicht_S.lib)

else()

set(LIBRARIES Irrlicht.lib)

endif()

set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /MANIFEST:NO")

foreach(flag_var

CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE

CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO

CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE

CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)

if(${flag_var} MATCHES "/MD")

string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")

endif()

endforeach()

aux_source_directory(. SRC_LIST)

add_executable(${PROJECT_NAME} ${WINDOWS} ${SRC_LIST})

set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "/ENTRY:mainCRTStartup")

target_link_libraries(${PROJECT_NAME} ${LIBRARIES})

以及一个target的调用方法:

cmd /C "if not exist Build (mkdir Build && chdir Build && cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel .. && nmake verbose=1) else chdir Build && cmake -G"NMake Makefiles" -DCMAKE_BUILD_TYPE=MinSizeRel .. && nmake"

注意其中的:-DCMAKE_BUILD_TYPE=MinSizeRel

3.怎样编写Cmake的配置文件Cmakelist.txt

1 Cmake 有linux ,windows 多个平台版本,如图是windows下版本程序 2 更具一个简单多目录c项目,学下cmakelist.txt编写规范 3 根目录下cmakelist文件内容: set(CMAKE_INSTALL_PREFIX):设置程序的安装目录,优先级比cmake命令参数设置高。

add_subdirectory(编译文件子目录) 4 libhello 目录下的cmakelist文件内容: 5 libhello 目录下的cmakelist文件内容: 6 查看编译后结果: 7 安装后目录结构: 。

4.怎么配置cmakelist交叉编译

cmake交叉编译配置很多时候,我们在开发的时候是面对嵌入式平台,因此由于资源的限制需要用到相关的交叉编译。

即在你host宿主机上要生成target目标机的程序。里面牵扯到相关头文件的切换和编译器的选择以及环境变量的改变等,我今天仅仅简单介绍下相关CMake在面对交叉编译的时候,需要做的一些准备工作。

CMake给交叉编译预留了一个很好的变量CMAKE_TOOLCHAIN_FILE,它定义了一个文件的路径,这个文件即toolChain,里面set了一系列你需要改变的变量和属性,包括C_COMPILER,CXX_COMPILER,如果用Qt的话需要更改QT_QMAKE_EXECUTABLE以及如果用BOOST的话需要更改的BOOST_ROOT(具体查看相关Findxxx.cmake里面指定的路径)。CMake为了不让用户每次交叉编译都要重新输入这些命令,因此它带来toolChain机制,简而言之就是一个cmake脚本,内嵌了你需要改变以及需要set的所有交叉环境的设置。

toolChain脚本中设置的几个重要变量 1.CMAKE_SYSTEM_NAME: 即你目标机target所在的操作系统名称,比如ARM或者Linux你就需要写"Linux",如果Windows平台你就写"Windows",如果你的嵌入式平台没有相关OS你即需要写成"Generic",只有当CMAKE_SYSTEM_NAME这个变量被设置了,CMake才认为此时正在交叉编译,它会额外设置一个变量CMAKE_CROSSCOMPILING为TRUE. 2. CMAKE_C_COMPILER: 顾名思义,即C语言编译器,这里可以将变量设置成完整路径或者文件名,设置成完整路径有一个好处就是CMake会去这个路径下去寻找编译相关的其他工具比如linker,binutils等,如果你写的文件名带有arm-elf等等前缀,CMake会识别到并且去寻找相关的交叉编译器。 3. CMAKE_CXX_COMPILER: 同上,此时代表的是C++编译器。

4. CMAKE_FIND_ROOT_PATH: 指定了一个或者多个优先于其他搜索路径的搜索路径。比如你设置了/opt/arm/,所有的Find_xxx.cmake都会优先根据这个路径下的/usr/lib,/lib等进行查找,然后才会去你自己的/usr/lib和/lib进行查找,如果你有一些库是不被包含在/opt/arm里面的,你也可以显示指定多个值给CMAKE_FIND_ROOT_PATH,比如set(CMAKE_FIND_ROOT_PATH /opt/arm /opt/inst)该变量能够有效地重新定位在给定位置下进行搜索的根路径。

该变量默认为空。当使用交叉编译时,该变量十分有用:用该变量指向目标环境的根目录,然后CMake将会在那里查找。

5. CMAKE_FIND_ROOT_PATH_MODE_PROGRAM: 对FIND_PROGRAM()起作用,有三种取值,NEVER,ONLY,BOTH,第一个表示不在你CMAKE_FIND_ROOT_PATH下进行查找,第二个表示只在这个路径下查找,第三个表示先查找这个路径,再查找全局路径,对于这个变量来说,一般都是调用宿主机的程序,所以一般都设置成NEVER 6. CMAKE_FIND_ROOT_PATH_MODE_LIBRARY: 对FIND_LIBRARY()起作用,表示在链接的时候的库的相关选项,因此这里需要设置成ONLY来保证我们的库是在交叉环境中找的. 7. CMAKE_FIND_ROOT_PATH_MODE_INCLUDE: 对FIND_PATH()和FIND_FILE()起作用,一般来说也是ONLY,如果你想改变,一般也是在相关的FIND命令中增加option来改变局部设置,有NO_CMAKE_FIND_ROOT_PATH,ONLY_CMAKE_FIND_ROOT_PATH,BOTH_CMAKE_FIND_ROOT_PATH 8. BOOST_ROOT: 对于需要boost库的用户来说,相关的boost库路径配置也需要设置,因此这里的路径即ARM下的boost路径,里面有include和lib。 9. QT_QMAKE_EXECUTABLE: 对于Qt用户来说,需要更改相关的qmake命令切换成嵌入式版本,因此这里需要指定成相应的qmake路径(指定到qmake本身)toolChain demo# this is requiredSET(CMAKE_SYSTEM_NAME Linux)# specify the cross compilerSET(CMAKE_C_COMPILER /opt/arm/usr/bin/ppc_74xx-gcc)SET(CMAKE_CXX_COMPILER /opt/arm/usr/bin/ppc_74xx-g++)# where is the target environment SET(CMAKE_FIND_ROOT_PATH /opt/arm/ppc_74xx /home/rickk/arm_inst)# search for programs in the build host directories (not necessary)SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)# for libraries and headers in the target directoriesSET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)# configure Boost and QtSET(QT_QMAKE_EXECUTABLE /opt/qt-embedded/qmake)SET(BOOST_ROOT /opt/boost_arm)这样就完成了相关toolChain的编写,之后,你可以灵活的选择到底采用宿主机版本还是开发机版本,之间的区别仅仅是一条-DCMAKE_TOOLCHAIN_FILE=./toolChain.cmake,更爽的是,如果你有很多程序需要做转移,但目标平台是同一个,你仅仅需要写一份toolChain放在一个地方,就可以给所有工程使用。

5.怎么在cmake的配置文件里加入

Cmake 有linux ,windows 多个平台版本,如图是windows下版本程序

更具一个简单多目录c项目,学下cmakelist.txt编写规范

根目录下cmakelist文件内容:

set(CMAKE_INSTALL_PREFIX):设置程序的安装目录,优先级比cmake命令参数设置高。

add_subdirectory(编译文件子目录)

libhello 目录下的cmakelist文件内容:

libhello 目录下的cmakelist文件内容:

查看编译后结果:

7

安装后目录结构:

6.怎样编写Cmake的配置文件Cmakelist.txt

用户在开通服务后,可以创建多个搜索应用,自由定制应用结构(文档结构),激活应用后即可在控制台、或者通过API/SDK上传文档,再通过API调用搜索服务,搜索语法包括关键词、布尔条件、统计和过滤等语法。开放存储服务OSS用户还可以在OpenSearch控制台直接配置使用OSS数据源,数据将自动同步进入OpenSearch,简单、方便、可靠。在搜索结果排序方面,OpenSearch提供了两阶段的排序规则定制,粗排阶段允许用户配置使用文档属性字段、算分特征函数的权重定制排序规则;精排阶段用户可以编写更复杂的表达式定制排序规则,支持常用的运算符、条件表达式、数学函数、地理位置函数和更多的算分特征。在数据处理方面,OpenSearch支持多表数据源和多表Join,提供数据内容处理插件。

7.Cmake是什么

CMake是一个比make更高级的编译配置工具,它可以根据不同平台、不同的编译器,生成相应的Makefile或者vcproj项目。

通过编写CMakeLists.txt,可以控制生成的Makefile,从而控制编译过程。CMake自动生成的Makefile不仅可以通过make命令构建项目生成目标文件,还支持安装(make install)、测试安装的程序是否能正确执行(make test,或者ctest)、生成当前平台的安装包(make package)、生成源码包(make package_source)、产生Dashboard显示数据并上传等高级功能,只要在CMakeLists.txt中简单配置,就可以完成很多复杂的功能,包括写测试用例。

如果有嵌套目录,子目录下可以有自己的CMakeLists.txt。总之,CMake是一个非常强大的编译自动配置工具,支持各种平台,KDE也是用它编译的,感兴趣的可以试用一下。

准备活动:(1)安装cmake。下载地址: 根据自己的需要下载相应的包即可,Windows下可以下载zip压缩的绿色版本,还可以下载源代码。

Windows下CMake的使用 (2)运行cmake的方法。(GUI、命令行) CMake使用步骤:运行GUI的cmake界面:cmake-2.8.1-win32-x86\bin\cmake-gui.exe Windows下CMake的使用 执行Configure:运行之后,生成了如下文件:Windows下CMake的使用 生成Makefile:执行Generate之后生成如下文件:Windows下CMake的使用 运行make进行编译:Windows下CMake的使用 编译完成后,在build目录生成Tutorial.exe,运行Tutorial.exe 25就可以看到运行结果:Windows下CMake的使用 运行make install安装程序:Windows下CMake的使用 运行make test进行测试:Windows下CMake的使用 通过cmake tutorial学习CMake配置方法 可以在源代码的Tests/Turorial目录中找到这个手册对应的代码。

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

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

Windows下CMake的使用 (2)点击Configure,配置成功后,再点击Generate。配置需要选择合适的编译器,虽然我安装了VC2008,但没有配置成功;选择Unix Makefiles,配置成功,它自动找到了DevC++下的gcc.exe等编译器。

Windows下CMake的使用 (3)在build3目录执行make,就能够编译生成Turorial.exe了。D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>make Linking CXX executable Tutorial.exe [100%] Built target Tutorial 可以运行一下Turorial.exe:D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>Tutorial.exe Tutorial.exe Version 1.0 Usage: Tutorial.exe number D:\Projects\Lab\testngpp\cmake-2.8.1\Tests\Tutorial\Step1\build3>Tutorial.exe 4 The square root of 4 is 22、Step2 把子目录编译为库,并且链接到最终的可执行文件。

include_directories ("${PROJECT_SOURCE_DIR}/MathFunctions") add_subdirectory (MathFunctions) # 使得子目录MathFunctions也能被编译# add the executable add_executable (Tutorial tutorial.cxx) target_link_libraries (Tutorial MathFunctions) 产生makefile:在GUI上点击Configure,之后Generate还是灰色,再次点击Configure,Generate就可以点击了。编译:。

win10如何配置cmake

转载请注明出处windows之家 » win10如何配置cmake

win10

win10更新重启完成安装失败

阅读(63)

本文主要为您介绍win10更新重启完成安装失败,内容包括Win10更新重启,提示无法完成安装,若要在此计算机上安装,Win10系统最近老是自动重启,安装更新,然后更新失败,撤销更,Win10更新补丁重启安装失败,撤销更改怎么办。进入RE高级模式中进行修

win10

win10如何换管理用户

阅读(83)

本文主要为您介绍win10如何换管理用户,内容包括如何在windows10更换管理员账户,window10怎么更改管理员的用户名,win10怎么切换管理员账户登录。在Win10系统当中,除了本地的administrator账号可以登录操作系统外,还有一个outlook帐号也可以登

win10

win10误删文件电脑开机黑屏怎么办

阅读(77)

本文主要为您介绍win10误删文件电脑开机黑屏怎么办,内容包括win10误删系统文件开机黑屏无法进入系统,win10误删系统文件开机黑屏无法进入系统,win10系统好像删了系统文件,在启动电脑进入界面就黑屏了,在线等。开机黑屏是与您关机前的不当操

win10

win10开机怎么默认选择系统

阅读(77)

本文主要为您介绍win10开机怎么默认选择系统,内容包括win10怎么选择默认启动系统,win10怎么开机选择启动系统,win10怎么开机选择启动系统。win10怎么选择默认应用程序win10总重置默认应用解决方

win10

win10如何修改状态栏图标

阅读(141)

本文主要为您介绍win10如何修改状态栏图标,内容包括Windows10怎么修改任务栏通知区域图标,win10正式版任务栏图标怎么修改,win10任务栏怎么换图标样式。点击:右下角的通知图标

win10

win10输入法怎么停止

阅读(64)

本文主要为您介绍win10输入法怎么停止,内容包括windows10系统输入法怎么关闭,win10自带的输入法怎么禁用,windows10如何让输入法默认关闭?。IME 是指 Input Method Editors 输入法编辑器,当你在一段时间不用输入法的时候,系统就会自动禁用。

win10

双硬盘系统安装win10教程

阅读(66)

本文主要为您介绍双硬盘系统安装win10教程,内容包括双硬盘怎么装win10系统安装,双硬盘怎么装win10系统安装,win10第二个硬盘怎么装系统。鼠标右键单击"此电脑"图标,在弹出的界面中选择“管理”打开计算机管理,在左侧下方找到存储/磁盘管理。在

win10

win10系统wps怎么打印文件夹

阅读(61)

本文主要为您介绍win10系统wps怎么打印文件夹,内容包括windows10系统wps怎么装打印机,如何使用打印机打印文件win10,联想wind10系统怎样打印文件。打印机win10系统添加网络打印机的步骤:添加凭据;要保存网络密码,就必需添加到凭据才能永久保存

win10

win10系统如何加入局域网

阅读(73)

本文主要为您介绍win10系统如何加入局域网,内容包括windows10怎么添加局域网,windows10系统怎么进入局域网设置,WIN10如何设置局域网?。工具:win10系统骤:打开win10系统电脑,右键WIN10桌面上的此电脑图标,在弹出的菜单中选择“管理”。然后在计

win10

安装win10系统时出现错误

阅读(83)

本文主要为您介绍安装win10系统时出现错误,内容包括windows10安装失败怎么解决?,windows10系统安装失败怎么办,装windows10出现问题怎么解决?。安装过程出现的问题:根据安装方式的不同,出现的问题也不同。升级完成后,复制$Windows.~BT这整个文

win10

es浏览器共享win10设置

阅读(75)

本文主要为您介绍es浏览器共享win10设置,内容包括ES文件浏览器要如何访问WIN10的共享,ES文件浏览器要怎么访问WIN10的共享,ES文件浏览器要如何访问WIN10的共享。ES文件浏览器要访问WIN10的共享方法:文件夹-属性-共享-高级共享-共享此文件-设

win10

win10听得到自己的声音怎么办

阅读(135)

本文主要为您介绍win10听得到自己的声音怎么办,内容包括win10系统,我插上耳麦说话自己的耳机里能听到自己的声音怎么弄没,win10系统,插上耳麦说话自己的耳机里能听到自己的声音要怎么办?,win10自己播放声音怎么回事。具体方法:在桌面左下角C

win10

win10如何链接cmcc

阅读(201)

本文主要为您介绍win10如何链接cmcc,内容包括windows10怎么连接CMCCGZ,win10为什么搜索不到cmccedu别的WiFi都搜得到,为什么win10连接不上cmccedu不弹出登录网页。CMCC是中移动的无线WIFI热点,右下角网络连接---选择CMCC双击连接,打开任意浏

win10

win10把变小了怎么办

阅读(191)

本文主要为您介绍win10把变小了怎么办,内容包括Win10系统中怎么修改图片大小,win10电脑图标变小了怎么办,win10系统的打印照片小怎么办。在Windows10系统依次点击“开始/Windows系统/画图”菜单项在打开的画图工具中,依次点击“文件/打开”

win10

win10更新重启完成安装失败

阅读(63)

本文主要为您介绍win10更新重启完成安装失败,内容包括Win10更新重启,提示无法完成安装,若要在此计算机上安装,Win10系统最近老是自动重启,安装更新,然后更新失败,撤销更,Win10更新补丁重启安装失败,撤销更改怎么办。进入RE高级模式中进行修

win10

win10如何换管理用户

阅读(83)

本文主要为您介绍win10如何换管理用户,内容包括如何在windows10更换管理员账户,window10怎么更改管理员的用户名,win10怎么切换管理员账户登录。在Win10系统当中,除了本地的administrator账号可以登录操作系统外,还有一个outlook帐号也可以登

win10

win10开机怎么默认选择系统

阅读(77)

本文主要为您介绍win10开机怎么默认选择系统,内容包括win10怎么选择默认启动系统,win10怎么开机选择启动系统,win10怎么开机选择启动系统。win10怎么选择默认应用程序win10总重置默认应用解决方

win10

win10误删文件电脑开机黑屏怎么办

阅读(77)

本文主要为您介绍win10误删文件电脑开机黑屏怎么办,内容包括win10误删系统文件开机黑屏无法进入系统,win10误删系统文件开机黑屏无法进入系统,win10系统好像删了系统文件,在启动电脑进入界面就黑屏了,在线等。开机黑屏是与您关机前的不当操

win10

win10如何修改状态栏图标

阅读(141)

本文主要为您介绍win10如何修改状态栏图标,内容包括Windows10怎么修改任务栏通知区域图标,win10正式版任务栏图标怎么修改,win10任务栏怎么换图标样式。点击:右下角的通知图标

win10

双硬盘系统安装win10教程

阅读(66)

本文主要为您介绍双硬盘系统安装win10教程,内容包括双硬盘怎么装win10系统安装,双硬盘怎么装win10系统安装,win10第二个硬盘怎么装系统。鼠标右键单击"此电脑"图标,在弹出的界面中选择“管理”打开计算机管理,在左侧下方找到存储/磁盘管理。在

win10

win10输入法怎么停止

阅读(64)

本文主要为您介绍win10输入法怎么停止,内容包括windows10系统输入法怎么关闭,win10自带的输入法怎么禁用,windows10如何让输入法默认关闭?。IME 是指 Input Method Editors 输入法编辑器,当你在一段时间不用输入法的时候,系统就会自动禁用。

win10

学生该如何装win10知乎

阅读(114)

本文主要为您介绍学生该如何装win10知乎,内容包括如何安装win1064位操作系统知乎,如何优雅的使用win10知乎,如何优雅地使用win10知乎。Windows10和Ubuntu都是安装在SSD上的,其中40GB分给Ubuntu了。如果是已经先安装好了Windows10,你可以在磁