跨平台编译CMake使用

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”系统是分开的,而且更为高阶。

官网:http://www.cmake.org/

http://www.cnblogs.com/sinojelly/archive/2010/05/22/1741337.html

时间: 2024-12-18 19:59:19

跨平台编译CMake使用的相关文章

Go跨平台编译的方法学习

从第一天开始学习Golang就知道它有一个很让人心动的特性就是跨平台编译,但一直没有去使用.最近做了一个小东西需要用到这个特性,所以在网上进行了搜索. 首先找到是国内文章是利用下载Go的源码包,将对其进行编译安装,完成后Go/src下的make.bash生成跨平台的编译器,这样在每次用时需要指定GOOS及GOARCH来进行编译,如: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build //编译为linux 64位系统下的程序 如果需要编译windows

在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)

GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL,会有很多非常恶心的预备工作要做,而且可能还要专门为平台的差异写一些代码.要跳过这些工作,可以用一个utility库,直接使用它提供的函数,就不用操心那些细节了.这样的库新一点的有GLEW,因为开源所以安装相对方便(大不了丢进去一起编译),但各种教程和书里常见的是闭源的GLUT.由于GLUT的作者已经

DELPHI跨平台编译开关

DELPHI 现在是跨平台的开发工具,已经不仅仅针对WINDOWS OS. 跨平台的时候,一些WINDOWS特有的API或语法是不能用的,必须使用跨平台的新语法,要用编译开关区分开来. {$ifdef MSWINDOWS}Windows;{$endif}{$ifdef POSIX}Posix.Pthread;{$endif}

OpenCV for Mac 编译 CMake Error at cmake/OpenCVUtils.cmake:42 (if):

编译openCV for mac 总是报错 CMake Error at cmake/OpenCVUtils.cmake:42 (if): 无数次重试都无效,找了很多文章都没有提到这个错误,无意间在一篇文章中受到启发 原文地址: http://www.voidcn.com/blog/yu_fujiang/article/p-3986675.html 我的错误和这位大神基本类似,我是文件夹名取了个"c++" 于是将文件夹c++改成cplus 编译成功了

跨平台编译Go程序(交叉编译)

作用:比如你手头只有Mac系统,而你的用户有Linux和Windows的,他们也想用,你可以通过交叉编译出Linux和Windows上的可执行文件给他们用 (1)首先进入go/src 源码所在目录,执行如下命令创建目标平台所需的包和工具文件. $ cd /usr/local/go/src $ CGO_ENABLED=0 GOOS=linux GOARCH=amd64 ./make.bash 如果是 Windows 则修改 GOOS 即可. $ CGO_ENABLED=0 GOOS=windows

gox 简单灵活的golang 跨平台编译工具

gox 是使用简单,灵活的跨平台golang 编译工具,我们可以快速的生成多平台的可运行文件,和使用go build 类似 一个参考构建命令 gox -ldflags "-X main.version=${VERSION}" -output="build/{{.Dir}}_{{.OS}}_{{.Arch}}" . 参考资料 https://github.com/mitchellh/gox 原文地址:https://www.cnblogs.com/rongfengli

跨平台编译coocs2d-x工程

1.文件路径问题.鉴于我们要实现跨平台处理,就要处理不同IDE对于文件路劲的管理.在VS中,代码管理完全按照物理路径去管理,剩下的部分是资源路径问题.在win7-vs2012以上的版本(vs110_xp对应版本设置再去搜索吧,已过去的工具就该放弃)可以选择在Debugging中的Working  Directory的值从$(ProjectDir)设置为$(ProjectDir)../Resources.但这要求每次增加资源或修改文件名也要同步在mac工作平台修改文件映射. 为放弃上面单平台管理的

golang的跨平台编译

到源代码目录下执行: Linux/amd64 CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build sina.go 不带前面参数的 go build 只是编译出开发环境适用的执行文件

nodejs的交叉(跨平台)编译(to android)

nodejs的二进制包有两种安装方式node-gyp以及node-pre-gyp 这两条命令会写入该包的安装脚本. node-gyp是使用gyp工具编译源码,因此必须指定交叉编译器(参见http://n8.io/cross-compiling-nodejs-v0.8/) node-pre-gyp首先考虑从package.json定义的远程地址下载二进制包,若无,则依然交给node-gyp编译 node-pre-gyp指定平台和架构的参数为 --target_platform="" --