CMake,configue出错,以下是错误信息。怎么弄? vs2010的。

CMake,configue出错,以下是错误信息。怎么弄? vs2010的。,第1张

CMake,configue出错,d出框“Error in configuration process,project files may be invalid”是设置错误造成的,解决方法如下:

1、首先编写如下所示的main.cpp。

2、新建CMakeLists.txt文件,文件内部声明cmake的最低要求版本,项目名称,以及指定生成的目标。

3、最后同一个目录的文件有两个,即CMakeLists.txt和main.cpp。

4、然后直接在线安装cmake,  命令行上直接执行brew install cmake (这里是在mac系统上的终端执行的)。

5、成功安装完成cmake之后,终端执行命令cmake . 来生成makefile文件(这里没有指定平台,则默认是linux)。

6、最后终端执行make命令生成可执行程序,然后运行可执行程序,从下图的运行结果看,可执行程序运行成功。

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

CMake 可以编译源代码、制作程式库、产生适配器(wrapper)、还可以用任意的顺序建构执行档。CMake 支持 in-place 建构(二进档和源代码在同一个目录树中)和 out-of-place 建构(二进档在别的目录里),因此可以很容易从同一个源代码目录树中建构出多个二进档。CMake 也支持静态与动态程式库的建构。

“CMake”这个名字是“cross platform make”的缩写。虽然名字中含有“make”,但是CMake和Unix上常见的“make”系统是分开的,而且更为高阶。

下载:

在安装metis-5.0时,安装说明中要求必须安装CMake2.8版本,下面是CMake的安装和使用方法,记录下来以便以后学习。

在网址 http://www.cmake.org/ 下载你所需要的CMake源码包cmake-2.8.8.tar..gz(版本不同,压缩包后缀不同),分为Unix/linux版本 和 windows版本 。

1、安装

有好几种安装CMake 的方法,因你所用的平台而异。

(1)从源码安装

Windows

在CMake 下载页面 上有已编译好的二进制包。它提供的是一个可执行的安装程序。你还可以下载源码包并从源码包编译CMake。CMake下载页面还提供了已释出的源码和访问CVS的指令。

为了从源码树编译CMake,你必须先要安装最新的CMake二进制版本,因为要用它来编译源码树。一旦装好了二进制版本的CMake,你就可以像编译其他项目一样使用CMake编译CMake了。一般来说,这意思是你要选择CMake源码目录作为源目录,然后再指定编译出来的可执行程序结果的位置。

Linux, Mac OSX, UNIX &Cygwin

在CMake 下载页面 上有许多UNIX平台上已经编译好的二进制包。

下面有几种从源码树编译CMake的方法:

解压:tar xvf cmake-2.8.8.tar.gz

进入解压目录:cd cmake-2.8.8

进行如下 *** 作:(选择适合自己的 *** 作步骤)

如果还没有安装CMake,源码树中提供了一个 bootstrap 脚本:

./bootstrap

make

make install

(注:make install 一步是可选的,CMake 可以在编译目录下运行。)

一个已经安装了的CMake也可以用于编译新版本的CMake:

cmake .

make

make install

(注:make install 一步是可选的,CMake 可以在编译目录下运行。)

在UNIX上,如果你不是使用的GNU C++编译器,你要告诉bootstrap 脚本你想用哪个编译器。这可以在运行configure命令前通过设置CC和CXX环境变量完成。例如,在一个带有7.3X编译器的SGI平台上,你可以像下面这样编译CMake:

(setenv CXX CCsetenv CC cc./bootstrap)

make

make install

要查看bootstrap脚本的详细参数,请执行 ./bootstrap –help

(2)从二进制安装

sudo apt-get install cmake

2、cmake 运行

(1)运行cmake with GUI

如果系统中有curses库的话,cmake将生成一个可执行文件ccmake,它是一个基于文本程序的终端,有点类似windows GUI。

在源码目录中运行ccmake .,生成的二进制文件存放在源码目录下

当然也可以在其他目录下运行ccmake,只是要指定你想编译的源码的路径

ccmake的使用

当我们在源码目录下运行ccmake . 时,终端将显示如下:

当我们键入c时,ccmake将编译

当我们键入方向键时,可以选择cache entry

当我们键入enter时,可以编辑cache entry

当我们键入g时,将生成Makefile,然后退出

当我们键入h时,将d出帮助文档

当我们键入q时,将退出ccmake

当我们键入t时,可以打开或关闭advanced cache entry

(2)运行cmake from the command line

如果源码没有太多的选项(在CMakeCache.txt文件中),可以只用cmake .来产生Makefile。

如果源码选项太多,比如VTK,可以把参数-i传递给cmake,如:cmake -i .,

cmake将让你为每一个cache file文件中的选项指定一个值,也能让你增加新的选项到文件CMakeCache.txt中,或者使用ccmake,或者使用CMakeSetup。

当然,也可以传递设置选项的参数给cmake,如:

cmake -DVARIABLE:TYPE=VALUE .

3、 CMake cache

cmake第一次运行的时候,它将产生一个文件叫CMakeCache.txt,该文件可以被看作一个配置文件,它里面的内容就像传递给configure命令的参数集,CMake GUI可以帮你很容易修改它,当然也可以直接对该文件做修改;如果你的CMakeLists.txt文件做过较大幅度的修改,你需要从cache中删除相关的选项,如果你还没有手动编辑过cache文件,在你重新运行cmake之前需删除它。

4、Cmake语法

(1)基本概念

cmake使用Cmake dfjsdfasfLists.txt文件,该文件用include或者add_subdirectory命令来增加额外的输入文件。

注释行以#开头到该行结尾

命令是由命令名,加括号,括号中的参数用空白隔开,它可以是内建的命令如add_library,或者用户定义的宏或函数

所有的空格,包含空白符,空行,tabs,当然除了用来隔开参数的空白,都被忽略


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8378262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存