编译工具的选择
来源:互联网 发布:市政工程计算软件 编辑:程序博客网 时间:2024/05/16 06:46
在cmake、scons、autotools、typhoon-blade等众多编译工具中,经过多项比较,最终选择cmake。
选择的理由:
1、先说下工具之间的比较:
- autotools学习曲线十分陡峭;
- 跨平台的编译工具,其中最有名的两个是 cmake 和 scons ,cmake 之所以出名估计是因为 KDE 4 从 autotools 转向用 cmake 来编译,而 scons 则是 lighttpd 原来用的编译工具,它现在也转向 Python 了。cmake 和 python 大概代表了新一代跨平台编译工具的两种方向。第一种 (cmake) 是延续并改良传统 automake, autoconf 工具链,将之合为一体,但最终仍然生成 Makefile, Visual Studio 的 .sln,Xcode 的 .xcodebuild 文件,依赖现有编译工具 (make, nmake, vcbuild, xcodebuild) 来编译;第二种则是完全消除现有编译工具的调用,直接调用编译器,scons 就属于这一类 (scons 还有一个特点是完全不用专门的语言,控制编译的脚本就是 Python)。
- typhoon-blade基于scons,不能生成原生makefile,但配置相对简单,貌似只支持linux,无法跨平台。(用了下,源文件居然只识别cpp,不识别cxx)
2、再说一下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等软件测试和发布的工具集成。
- 众多使用者:详见http://zh.wikipedia.org/wiki/CMake
后记:
不过cmake后来没有用起来,windows下还是用virtual studio,linux下用eclipse CDT生成makefile了。可能还是不喜欢命令行,只喜欢UI界面。
0 0
- 编译工具的选择
- arm linux 交叉编译工具的选择
- 如何选择Linux内核对应的交叉编译工具链
- 选择编辑与编译工具-1
- 编译平台工具集选择错了
- 工具的选择
- 选择正确的工具
- 配置管理工具的选择
- 以后工具的选择
- 流程图工具的选择
- Torque的编译工具
- cramfs工具的编译
- J2ME开发工具的选择
- 数据挖掘工具的选择
- 选择UML工具的标准
- JSP开发工具的选择
- 第一部分,工具的选择
- 持续集成工具的选择
- Android自定义控件系列之应用篇——圆形进度条
- Java socket 访问网页
- java中的clone()方法的研究---(1)自定义的类如何才可以被clone
- #pragma
- JAVA数据库连接池原理(24K纯手工打造)
- 编译工具的选择
- 关于包含块(containing block)的理解
- 4.22~
- 网络策划
- 进程间的通信方式
- ssm实现数据查询和添加
- 【iOS开发-quartz2d】制作图片水印
- linux - nfspy
- LeetCode-Longest Palindromic Substring