㈠ 使用CMake编译C/C++程序
CMake Tutorial
CMake Reference
定义程序编译规则
生成可执行文件的最简单版本的 CMakeLists.txt
以上CMakeLists.txt定义的编译规则是将源文件tutorial.c编译成名为 Tutorial 的可执行文件。
一般用法是,新建一个文件夹,一般命名为 build ,在终端进入该文件夹,然后调用 cmake ../ , cmake 会在找到上级目录找到 CMakeLists.txt ,生成 makefile 和一些其它文件。
在 makefile 所在目录,调用 make 命令,会根据 makefile 对程序进行编译生成。
㈡ cmake 如何编译成debug版
回复 7# qfmeal 这些参数是make工具的,--debug 只会让make在调用编译器gcc/g++干活的时候打印更多的东西,让你看到它详细的分析和处理指令的过程。
㈢ 如何查看linux的cmake编译器的最低版本
可以使用cmake --version 查看
如果输出 cmake的版本号说明已经正确安装了cmake
如果提示没有cmake这个命令,说明没有正确安装
下面给出安装cmake的步骤
可以直接在线安装:apt-get install cmake
2. 离线安装
cmake下载地址:http://www.cmake.org/files/v2.8/cmake-2.8.4-Linux-i386.tar.gz
下载之后
1.解压
root@zsh-linux:/opt#tar -zxvf cmake-2.8.4.tar.gz
2.然后 cd 到cmake-2.8.4目录下 安装
root@zsh-linux:/opt/cmake-2.8.4# ./bootstrap
root@zsh-linux:/opt/cmake-2.8.4# make
root@zsh-linux:/opt/cmake-2.8.4# make install
安装完毕后查看是否安装成功:
root@zsh-linux:/opt/cmake-2.8.4# cmake --version
cmake version 2.8.4
㈣ 请问有CMake(编译工具) V3.17.2 英文安装版软件免费百度云资源吗
链接:
提取码:gb59
软件名称:CMake(编译工具)V3.17.2英文安装版
语言:英文软件
大小:23.60MB
类别:系统工具
介绍:CMake是一个免费的多平台编译工具,旨在构建、测试和软件打包,该软件是用于控制软件使用简单的平台和编译器编译过程独立配置文件,软件生成本机makefile和工作区,可以使用您所选择的编译器环境,操作简单,使用便捷,非常的好用。
㈤ cmake的版本会不会影响编译结果
会。根据查询相关资料显示,cmake的版本包括(cuda、gcc、tensorflow的版本),这几个版本稍有偏差,就会造成编译运行失败影响结果。CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。它能够输出各种各样的makefile或者project文件,能测试编译器所支持的C++特性,类似UNIX下的automake。
㈥ 编译系统的编译系统CMake
CMake就像是我们在uni上使用的make一样,是用来管理怎样编译一个project的。它的好处是:
1) 跨越多个操作系统平台,包括当前应用最广泛的windows,unix(包括Mac OS X).
2) 采用BSD风格的协议开放源代码。据我个人阅读协议文件,没发现协议与两句BSD协议有什么不同。
3) 它可以支持具有非常复杂的路径、库依赖的程序的编译。比如它支持编译个程序:它依赖于很多的库以及其它一些代码文件,而每一个库又有很多子目录。。。
4) 像很多Make一样,它会对曾经编译的文件做一些cache一遍加速以后的编译。
使用这个编译系统的时候,需要每个目录/子目录创建一个名为CMakeLists.txt的文件。
这个项目历史也算是比较悠久了,从2000年就开始了。
当前使用这个编译系统的项目:llvm/clang。。。
我就是从clang的源代码里发现的,邮件列表里有人推荐使用cmake,不要使用msvc的.sln文件
㈦ Mac平台 使用CMake编译iOS lib
前言
在mac电脑上,可以通过手动创建XCode工程的方式,来实现iOS lib的编译,但这种方式存在一个很明显的缺点,在需要指定编译文件的情况下,比较麻烦~CMake编译脚本完美的解决了这个问题,可以指定特定的文件参与编译
xcode https://developer.apple.com/xcode/download
cmake OS X版本 https://cmake.org/download
默认情况 cmake 命令行可能用不了,需要命令行中输入以下指令
具体可参考 CMake Mac下安装
ios.toolchain.cmake https://github.com/leetal/ios-cmake/releases
README文件中有工具链的使用方式
ios.toolchain.cmake 工具链Demo中提供的CMakeLists,可以根据实际情况做下修改。
cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../../ios.toolchain.cmake -DPLATFORM=OS64
指令指定了CMakeLists、工具链的位置及编译架构,会生成一个XCode工程。其中.. 表示CMakeLists文件在当前目录的上一个文件夹中,../表示上一个文件夹,../../表示上两个文件夹
㈧ visual studio 编译器的堆空间不足问题的解决(cmake版本)
我们有个自动编译游戏引擎的脚本,这个脚本时间用久了,总是会报如下的错误:
fatal error C1060: 编译器的堆空间不足
每次出现这种错误,总是要请人重启机器,重新配置,很耽误时间和精力。
所以本人就在努力寻找一个彻底的解决办法。
想直接要解决方法的朋友可以跳过接下来的两节。
简单网上搜一下,就能搜到参考文献1。
如果你的c++工程不用cmake,参考文献1的方法足以满足你的需求。
但是我们工程比较大,肯定是要用cmake的,所以我就开始尝试各种方法: 通过改工程的cmake文件的方式来让cmake生成的vcxproj工程文件中包含PreferredToolArchitecture属性。
网上找了好久,试了不少办法,还是没用。
发现最终解决方案也是个很有趣的过程,值得记录。
首先我看见PreferredToolArchitecture父节点是PropertyGroup,而PropertyGroup下面有Platform属性,PreferredToolArchitecture和Platform是兄弟属性。
我们的Platform用x64还是win32,都是在cmake命令行里指定的。
所以我就大胆猜测,PreferredToolArchitecture这个属性如果可以通过cmake设置的话,大概率也是在cmake的命令行中设置!
接着,就是小心求证的过程,先执行: cmake --help
通过阅读帮助文档,辅以简单的排除法,我觉得toolset-name这个属性很可能是我要的,于是谷歌: cmake toolset name
从而找到了文档2,在文档2中发现了host=x64这个东西,但是我还不知道怎么用!于是继续搜索:cmake host=x64
找到了文档3,然后修改我们的编译脚本,加入这个编译选项,重新cmake,果然,出现了vcxproj文件中看到了PreferredToolArchitecture x64属性!
感觉成功了90%,编译工程,打开任务管理器,观察进程名称,发现c++编译器都是64位的,遂大功告成。
问题的本质就是windows操作系统visual studio的默认cpp编译器是32位的,所以最大内存是4G,就容易导致编译器内存不足。
有问题的cmake指令如下:
使用64位的cpp编译器的解决方法如下:
注意: cmake的GUI并没有-T host的选择,当然最新版的GUI可能也会加这个。。
还有另一种方法,添加环境变量: set PreferredToolArchitecture=x64
虽然用了64位的cpp编译器,过了一段时间,还是报堆空间不足的问题。
据观察,物理内存占用率100%,所以考虑利用空闲的磁盘空间,增大机器的虚拟内存。
win10如何设置虚拟内存的大小: https://jingyan..com/article/2fb0ba4041d14c00f3ec5f4e.html
物理内存只有32G,以前的虚拟内存是6G,我利用空闲磁盘,增大虚拟内存到100G!
㈨ ubuntu源码编译安装cmake-2.8.10.2
ubuntu源码编译安装cmake-2.8.10.2从cmake官网下载最新的cmake版本,笔者下载的是cmake-2.8.10.2.tar.gz,地址http://www.cmake.org/cmake/resources/software.html
www.dnjsb.com
1、解压cmake-2.8.10.2.tar.gztar
-xvf
cmake-2.8.10.2.tar.gz2、在cmake-2.8.10.2同级目录下新建一个编译目录mkdir
cmake-bulidcd
cmake-build3、编译cmake.././bootstrap
www.dnjsb.com
注意:可能会出现如下错误:/usr/lib/libstdc++.so.6:
version
'GLIBCXX_3.4.15'
not
found这个是因为笔者更新ubuntu
gcc编译器导致的。解决方法:a.
查看libstdc++.so.6支持GLIBCstrings
/usr/lib/libstdc++.so.6
|
grep
GLIBCoutput:GLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBC_2.0GLIBC_2.3GLIBC_2.1GLIBC_2.1.3GLIBC_2.3.2GLIBC_2.2GLIBCXX_FORCE_NEWGLIBCXX_DEBUG_MESSAGE_LENGTH发现里面没有支持GLIBCXX_3.4.15。在这里,笔者ubuntu中安装的gcc
4.7ls
/usr/local/gcc-4.7.2/output:bin
include
lib
libexec
share将/usr/local/gcc-4.7.2/lib/目录下面的libstdc++.so.6和libstdc++.so.6.0.17拷贝到/usr/lib/目录下面:sudo
cp
/usr/local/gcc-4.7.2/lib/libstdc++.so.6
/usr/lib/sudo
cp
/usr/local/gcc-4.7.2/lib/libstdc++.so.6.0.17
/usr/lib/sudo
rm
-f
/usr/lib/libstdc++.so.6.0.13删除libstdc++.so.6旧的链接,建立新的链接,同时删除libstdc++.so.6.0.13:sudo
ln
-sf
/usr/lib/libstdc++.so.6.0.17
/usr/lib/libstdc++.so.6sudo
rm
-f
/usr/lib/libstdc++.so.6.0.13至此搞定,现在我们回到编译cmake中。重复刚才的命令:
www.dnjsb.com
.././bootstrap注意:此时我们仍然在cmake-bulid目录下面。上面成功以后就执行如下2个命令:makesudo
make
install查看cmake是否安装成功:cmake
--versionoutput:cmake
version
2.8.10.2恭喜你,安装成功了。