Ubuntu编译安装CMake

梦想不抛弃苦心追求的人,只要不停止追求,你们会沐浴在梦想的光辉之中。再美好的梦想与目标,再完美的计划和方案,如果不能尽快在行动中落实,最终只能是纸上谈兵,空想一番。只要瞄准了大方向,坚持不懈地做下去,才能够扫除挡在梦想前面的障碍,实现美好的人生蓝图。Ubuntu编译安装CMake,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

通过编译安装的方式,可以方便地安装指定版本的CMake,并能够卸载或升级,不会因为apt安装cmake而导致卸载cmake时影响到其他包

下载

方法一:官网下载

官网下载界面 选择自己需要的版本的源码,或在github仓库中clone对应版本的分支的代码,也可直接使用master分支的代码

方法二:gitee下载

仓库地址,下载方法同github仓库,这个仓库是从github仓库导入gitee的

安装

1. 安装依赖

sudo apt install build-essential libncurses5-dev ninja-build libssl-dev libarchive13 libcurl4 librhash0 libuv1

若不使用ninja编译,可不用安装 ninja-build

还有可能缺少其他的依赖,需要在编译过程中根据报错去搜索解决

2. 编译

方法一:使用make

在下载的CMake源码文件夹中打开终端,依次运行以下命令

./bootstrap

若内存或交换内存不够(-j20时,占用了15.1G内存+20G交换内存,ubuntu默认交换内存只有2G,手动调整交换内存大小见博客 Ubuntu调整swap大小),可能会爆内存,建议根据CPU线程数指定-j参数,比如 make -j8 或 make -j16

make -j
sudo make install

方法二:使用ninja(推荐,速度更快)

在我的电脑上使用make耗时4分多钟,而使用ninja只需1分钟,且占用内存更少。要了解ninja可去 ninja官网

./bootstrap --generator=Ninja

ninja默认调用所有线程,但不会爆内存,也可使用-j4、-j8等参数指定

ninja
sudo ninja install

3. 测试

终端中输入

cmake --version

若打印出版本信息,则说明安装成功

ccmake

cmake在unix系统下的GUI程序,编译安装cmake时若 BUILD_CursesDialog
值为ON(若安装有libncurses5-dev,则值自动为ON)会自动安装该程序,apt安装cmake则还需执行 sudo apt install cmake-curses-gui 命令来安装ccmake。cmake也有qt界面的GUI程序,但需要安装qt。

ccmake可以方便地显示并改变程序编译时的参数,同样支持指定生成器,比如使用cmake并指定生成器为Ninja时,命令是这样

cmake -G Ninja ..

使用ccmake时则命令是这样

ccmake -G Ninja ..

Ubuntu编译安装OpenCV 中展示了如何使用ccmake设置opencv编译参数并使用Ninja编译opencv

cmake-gui

使用QT窗口的cmake GUI程序,需要将编译参数 BUILD_QtDialog 设置为ON(不会自动开启),可通过 ccmake 开启

使用时直接运行

cmake-gui

若安装完cmake且编译时开启了相应的编译选项,运行时仍未找到ccmake或cmake-gui,可执行 hash -r 后重开终端再运行,还不行则需检查是否有依赖库未安装,安装好后重新编译安装cmake

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/150961.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!