• 推动物流行业高质量发展 2018中国物流卡车公开赛启动  2019-05-19
  • 大足:传承传统文化 弘扬尊老敬老美德 2019-04-27
  • 我国县级以上地方党委将建立人才工作领导小组 2019-04-25
  • 【萍乡天气】最新萍乡今天天气,实时提供萍乡气温、空气质量、24小时天气预报、生活指数查询 2019-04-23
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-23
  • 云南普洱市澜沧县发生3.0级地震 震源深度8千米 2019-04-21
  • 江西省加强公租房租赁合同管理 公租房租赁期最长不超过5年 2019-04-21
  • 城市网站传播力10月榜出炉 大洋网继续领先 2019-04-20
  • 信心持续攀升预期比较乐观 2019-04-20
  • 民众应对二维码的安全性加以警惕,注意防范街头的扫码推广,不要轻易去扫码。 2019-04-17
  • 我觉得特朗普满智慧的,特朗普要缓解被国际孤立的要做什么很明显。 2019-04-10
  • 还买什么花盆?不花一分钱,让家里颜值爆表! 2019-03-18
  • 台湾高雄发生6.7级地震 2019-03-16
  • 《社区矫正刑罚执行工作规范》日照市地方标准发布 2019-03-16
  • 北京首批限价房项目面世 北京将迎限价房供应高峰 ——凤凰网房产北京 2019-03-11
  • 您的位置:山东十一选五最新预测编程开发编程工具CMake编译软件 v3.11.1 中文版

    山东体十一选五走势图:CMake编译软件 v3.11.1 中文版CMake编译软件 v3.11.1 中文版

    山东十一选五最新预测 www.eixf.net 软件大?。?/span>31.6M

    软件官网:山东十一选五最新预测

    用户评分:

    软件类型:国外软件

    运行环境:Win All

    软件语言:简体中文

    软件分类:编程工具

    更新时间:2019/3/4

    授权方式:免费软件

    插件情况:无 插 件

    平台检测 无插件 360通过 腾讯通过 金山通过 瑞星通过
    编译软件
    CMake是一款编译软件,CMake软件帮助使用者可以选择更加有利的编程环境,给您在使用中带来一定的便利。另外软件内支持多种输出格式,解决您在使用上所遇到的文件输出难题。

    CMake

    【软件介绍】

    CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。他能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。只是 CMake 的组态档取名为 CMakeLists.txt。Cmake 并不直接建构出最终的软件,而是产生标准的建构档(如 Unix 的 Makefile 或 Windows Visual C++ 的 projects/workspaces),然后再依一般的建构方式使用。这使得熟悉某个集成开发环境(IDE)的开发者可以用标准的方式建构他的软件,这种可以使用各平台的原生建构系统的能力是 CMake 和 SCons 等其他类似系统的区别之处。


    【软件特色】

    1.开放源代码,使用类 BSD 许可发布。
    2.跨平台,并可生成 native 编译配置文件,在 Linux/Unix 平台,生成 makefile,在 苹果平台,可以生成 xcode,在 Windows 平台,可以生成 MSVC 的工程文件。
    3.能够管理大型项目,KDE4 就是最好的证明。
    4.简化编译构建过程和编译过程。Cmake 的工具链非常简单:cmake+make。
    5.高效率,按照 KDE 官方说法,CMake 构建 KDE4 的 kdelibs 要比使用 autotools 来 构建 KDE3.5.6 的 kdelibs 快 40%,主要是因为 Cmake 在工具链中没有 li^ool。
    6.可扩展,可以为 cmake 编写特定功能的???扩充 cmake 功能。


    【组态档】

    组态档是用一种建构软件专用的特殊编程语言写的CMake脚本。
    内建C语言、C++、Fortran、Java的自动相依性分析功能。
    经由CMake脚本语言支持SWIG、Qt、FLTK。
    内建对微软Visual Studio .NET和过去的Visual Studio版本的支持,可以产生后缀为.dsp、.sln和.vcproj的文档。
    用传统的时间标签侦测档案内容的改变。
    支持平行建构(在多台电脑上同时建构)
    在许多操作系统上进行跨平台编译,包括Linux、POSIX相容的系统(AIX、*BSD、HP-UX、IRIX、MinGW/MSYS、Solaris系统)、Mac OS X和微软Windows 95/98/NT/2000/XP等。
    产生可以给Graphviz用的全局相依图。
    已经和Dart、CTest和CPack等软件测试和释出的工具整合。


    【使用方法】

    CMake的所有的语句都写在一个叫:CMakeLists.txt 的文件中。当CMakeLists.txt文件确定后,可以用ccmake命令对相关 的变量值进行配置。这个命令必须指向CMakeLists.txt所在的目录。配置完成之后,应用cmake命令生成相应的makefile(在Unix like系统下)或者 project文件(指定用window下的相应编程工具编译时)。
    其基本操作流程为:
    $> ccmake directory
    $> cmake directory
    $> make
    其中directory为CMakeList.txt所在目录;
    第一条语句用于配置编译选项,如VTK_DIR目录 ,一般这一步不需要配置,直接执行第二条语句即可,但当出现错误时,这里就需要认为配置了,这一步才真正派上用??;
    第二条命令用于根据CMakeLists.txt生成Makefile文件;
    第三条命令用于执行Makefile文件,编译程序,生成可执行文件;
    CMake的执行就是这么简单,其难点在于如何编写CMakeLists.txt文件,下面结合例子简单介绍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)
    这是一个测试数学函数的程序的CMakeLists.txt,"#"后面为注释的内容,CMake的命令全部为大写
    第2行指定生成的工程名为test_math
    第4行指定头文件目录为include
    第8行指定源文件目录为src,并将其赋值给环境变量DIR_SRCS
    第10行设定环境变量TEST_MATH的值为环境变量DIR_SRCS的值,此处用于显示如何用环境变量对环境变量进行赋值
    第14行将数学函数库赋值给环境变量LIBRARIES,当然,可以不用这个环境变量,而在后面直接使用该库名
    第18行用于指定生成文件,将环境变量TEST_MATH目录下的所有文件编译生成../bin目录下的可执行文件bin
    第20行指定../bin/bin执行时的链接库为环境变量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放在当前目录下,执行CMakeLists.txt
    $> cmake .
    $> make
    即可生成可执行文件,在目录/bin下的bin文件,好了运行看其效果是否和所想一样。


    【使用教程】

    配置

    从本站下载cmake后,我们可以在下载路径得到一个压缩包,如图所示,解压此压缩包,解压缩有我们可以得到下图所示的文件。下面我们开始配置cmake。





    进入电脑属性
    在此电脑上右键单击,打开右键菜单,点击属性菜单,如图所示。



    进入高级系统设置
    在属性页面,我们在左边可以看到高级系统设置选项,如图所示,点击高级系统设置,进入高级系统设置页面。



    进入环境变量设置
    在高级系统设置页面,可以找到环境变量选项,如图所示,点击环境变量,进入环境变量页面。



    进入path变量
    在环境变量页面,我们可以看到“系统变量”框,在系统变量部分,我们可以找到path变量,如图所示,双击path变量。打开path变量设置窗口。



    设置path变量
    打开path变量设置窗口后,将刚才解压的文件所在路径复制,然后点击“新建”,在新的栏目中粘贴路径,点击“确定”即可。



    验证配置是否成功
    在命令行输入"cmake --version",如果输出如图所示,即配置成功。



    编译

    运行GUI的cmake界面:



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



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



    运行make进行编译:



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



    运行make install安装程序:



    运行make test进行测试:


    【常见问题】

    CMake缓存是什么?
    用户在第一次运行CMake软件时,它会生成一个CMakeCache.txt文件。此文件包含诸如本机JPEG库的存在和位置之类的内容。
    添加条目以响应某些CMake命令(例如FIND_LIBRARY),因为它们在源树中的所有地方在CMakeLists文件中的所有地方处理。
    在CMake运行后,并创建了一个CMakeCache.txt文件 - 你可以编辑它。CMake GUI,将允许您轻松地编辑选项,或者您可以直接编辑文件。
    编辑缓存的主要原因是给予CMake本地库(如JPEG)的位置,或者阻止它使用本地库并在源代码树中使用库的版本。
    CMake不能改变缓存文件本身中的现有条目。如果您的CMakeLists.txt文件变化显着,您将需要从缓存文件中删除相关条目。如果你还没有手动编辑缓存文件,你可以删除它,而后重新运行CMake。

    cmake如何处理路径包含头文件?
    CMake中,添加头文件路径,对应的函数叫includ。然后在参数中,把所有需要添加的路径,加进去就可以了。
    添加库路径,对应的函数叫LINK_DIR,同样,在参数中,把所有的路径加进去就可以了。
    CMake中的函数调用,是不区分大小写的,大小写可以混合使用。
    添加库,对应的函数叫LINK_LIBR,把所有的库加进去即可。这
    里有一个注意事项,这个不需要我们手动添加.lib这个后缀了,挺方便的。
    然后执行CMake,生成内容。然后这里需要切换到Rele版本,进行编译。生成成功并运行。
    查看之所以Debug版本编译有问题,发现依赖库为osg.lib而不是osgd.lib,也就是说依赖库是Rele版的。

    为何要使用项目构建工具?
    为何要使用cmake和autotools之类的项目构建工具? 我想,这恐怕是刚刚接触软件项目的人最应该问的问题之一了。
    “Hello, world!“这个最经典的程序相信我们每个人都写过。无论在什么平台下,编译和运行这个程序都仅需要非常简单的操作。但事实上,hello,world最多只能算是一个实例程序,根本算不上一个真正的软件项目。
    任何一个软件项目,除了写代码之外,还有一个更为重要的任务,就是如何组织和管理这些代码,使项目代码层次结构清晰易读,这对以后的维护工作大有裨益。使想一下,如果把一个像KDE4那么大的项目像hello world那样,把全部代码都放到一个main.cpp文件中,那将会是多么恐怖的一件事情。别说KDE4,就是我们随便一个几千行代码的小项目,也不会有人干这种蠢事。
    决定代码的组织方式及其编译方式,也是程序设计的一部分。因此,我们需要cmake和autotools这样的工具来帮助我们构建并维护项目代码。
    看到这里,也许你会想到makefile,makefile不就是管理代码自动化编译的工具吗?为什么还要用别的构建工具?
    其实,cmake和autotools正是makefile的上层工具,它们的目的正是为了产生可移植的makefile,并简化自己动手写makefile时的巨大工作量。如果你自己动手写过makefile,你会发现,makefile通常依赖于你当前的编译平台,而且编写makefile的工作量比较大,解决依赖关系时也容易出错。因此,对于大多数项目,应当考虑使用更自动化一些的cmake或者autotools来生成makefile,而不是上来就动手编写。

    用户评论

    (您的评论需要经过审核才能显示)0人参与,0条评论
    140

    最新评论

    还没有评论,快来抢沙发吧!

    请简要描述您遇到的错误,我们将尽快予以修订

    返回顶部
  • 推动物流行业高质量发展 2018中国物流卡车公开赛启动  2019-05-19
  • 大足:传承传统文化 弘扬尊老敬老美德 2019-04-27
  • 我国县级以上地方党委将建立人才工作领导小组 2019-04-25
  • 【萍乡天气】最新萍乡今天天气,实时提供萍乡气温、空气质量、24小时天气预报、生活指数查询 2019-04-23
  • 【理上网来喜迎十九大】外媒记者:稳步推进生态文明建设的中国更加美丽 2019-04-23
  • 云南普洱市澜沧县发生3.0级地震 震源深度8千米 2019-04-21
  • 江西省加强公租房租赁合同管理 公租房租赁期最长不超过5年 2019-04-21
  • 城市网站传播力10月榜出炉 大洋网继续领先 2019-04-20
  • 信心持续攀升预期比较乐观 2019-04-20
  • 民众应对二维码的安全性加以警惕,注意防范街头的扫码推广,不要轻易去扫码。 2019-04-17
  • 我觉得特朗普满智慧的,特朗普要缓解被国际孤立的要做什么很明显。 2019-04-10
  • 还买什么花盆?不花一分钱,让家里颜值爆表! 2019-03-18
  • 台湾高雄发生6.7级地震 2019-03-16
  • 《社区矫正刑罚执行工作规范》日照市地方标准发布 2019-03-16
  • 北京首批限价房项目面世 北京将迎限价房供应高峰 ——凤凰网房产北京 2019-03-11
  • 洛阳市福利彩票中心地址 怎样开彩票网站 秒速时时彩精准计划 快乐扑克彩神通专业版 山东群英会技巧大全 彩票大奖分布 北京赛车开奖视频软件 时时彩自由的百科天堂 高频彩过滤 竞彩篮球让分胜负规则 pc28北京神测网 生肖时时彩官网 2元彩票网注册送彩金 河北福彩20选5走势图 时时彩购买正式网站 中国足彩竞猜网