cmake源码静态编译


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

文章目录

  • cmake源码静态编译
    • 前言
    • 1.cmake直接编译
    • 2.cmake静态编译

环境:
OS : centos 7
编译器: gcc/g++ 4.8.5

前言

cmake的源码编译速度很慢,在x86_64架构下cmake有cmake-3.17.3-Linux-x86_64.sh的通用可执行程序。那么这个程序是如何通过源码编译的呢?

1.cmake直接编译

git clone https://github.com/Kitware/CMake.gitcd CMake
./bootstrapmakesudo make install
$ ldd bin/cmakelinux-vdso.so.1 =>  (0x00007ffde6cfc000)libdl.so.2 => /lib64/libdl.so.2 (0x00007f972a6a5000)librt.so.1 => /lib64/librt.so.1 (0x00007f972a49d000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f972a281000)libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f9729f7a000)libm.so.6 => /lib64/libm.so.6 (0x00007f9729c78000)libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f9729a62000)libc.so.6 => /lib64/libc.so.6 (0x00007f9729695000)/lib64/ld-linux-x86-64.so.2 (0x00007f972a8a9000)

2.cmake静态编译

git clone https://github.com/Kitware/CMake.gitcd CMakevi CMakeLists.txt

增加静态设置

set(CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")

安装glibc和libstdc++的静态库

yum install glibc-static libstdc++-static

进行静态编译

./bootstrapmakesudo make install

查看链接库,已经没有libstdc++.so.6和libgcc_s.so.1

$ ldd bin/cmakelinux-vdso.so.1 =>  (0x00007ffd61da5000)libdl.so.2 => /lib64/libdl.so.2 (0x00007f76a406c000)librt.so.1 => /lib64/librt.so.1 (0x00007f76a3e64000)libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f76a3c48000)libm.so.6 => /lib64/libm.so.6 (0x00007f76a3946000)libc.so.6 => /lib64/libc.so.6 (0x00007f76a3579000)/lib64/ld-linux-x86-64.so.2 (0x00007f76a4270000)

License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎

如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033


Reference:
NULL

cmake源码静态编译相关推荐

  1. 烂泥:mysql5.5数据库cmake源码编译安装

    本文首发于烂泥行天下. 以前也写过一篇有关mysql5.0源码编译的文章,该文章为<烂泥:mysql5.0数据库源码编译安装>.但是MySQL自5.5版本以后,就开始使用cmake 编译工 ...

  2. mysql5.7 cmake源码编译安装

    mysql5.7 cmake源码编译安装, -----该文章的知识点是一个大牛总结的,我这里只是加工了一下,非原创文章. 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像 ...

  3. 初步了解mac下C源码的编译过程

    初步了解mac下C源码的编译过程 参考: 请问Mac OS X (10.9.1)下创建和使用动态链接库的方法 cc.gcc.g++.CC的区别概括 - 今晚打酱油_ - 博客园 Linux 下 的 c ...

  4. MySQL源码包编译安装

    +++++++++++++++++++++++++++++++++++++++++++ 标题:MySQL数据库实例部署 时间:2019年5月2日 内容:MySQL源码包进行编译,然后部署MySQL单实 ...

  5. 编译 php mysql 依赖包_MySQL 5.5.15源码包编译安装

    mysql果然是不愧是目前最火的数据库,自从mysql5.5.8之后,mysql的源码包编译安装都要用到cmake来进行编译了,编译的过程没有本质 mysql果然是不愧是目前最火的数据库,自从mysq ...

  6. 最小的linux内核代码,带你阅读linux内核源码:下载源码、编译内核并运行一个最小系统...

    要学习linux内核,先要能够编译内核,还需要了解内核如何启动根文件系统.这样你才能在修改linux内核代码之后,完成验证的过程. 本文教你完成下列过程: 1.下载linux并编译linux内核源码 ...

  7. centos下CMAKE源码安装MYSQL5.5.23

    1.软件源代码包存放位置:/usr/local/src 源码包编译安装位置:/usr/local/软件名字 2.下载MySQL,CMAKE, http://www.cmake.org/files/v2 ...

  8. android源码下编译apk内无so,Android源码编译反思

    [初步构想] 如果是在一台PC上先完整的编译一次Android源码,然后将整个编译好的源码移到另一台PC,然后再在移到的PC上编译,这样估计是可以减少时间的吧? [初步测试] 初步测试结果,很令我感动 ...

  9. 【图文】鲲鹏916-ARM64架构源码gcc编译完整记录

    [图文]鲲鹏916-ARM64架构源码gcc编译完整记录 参考:鲲鹏软件栈官方文档 1.准备阶段 查看系统架构 [root@pc-deeplearning-1 ~]# hostnamectl Stat ...

最新文章

  1. python用动态规划求最短路径_动态规划之最短路径和
  2. 让pip使用国内镜像,解决下载速度慢的问题
  3. 反思避免只是小聪明:更加稳重 更加踏实
  4. 软件测试——系统测试总结报告模板
  5. UBuntu安裝使用PIP
  6. C#创建简单的验证码
  7. HashSet的自定义实现
  8. 信息安全学习笔记(五)------计算机病毒
  9. win7用计算机名共享打印机,WIN7共享打印机 可以同时多少台电脑共享一台打印机-win7一键共享打印机,win7一键共享工具软件...
  10. 【SSL】1653数字游戏
  11. DCS任务编辑器文件无法正常加载,一直停在‘正在读取。。’
  12. ubuntu 进不去图形界面,如何重新安装驱动
  13. win8.1服务器系统安装教程,win8.1安装iis图文教程
  14. 编译原理 C-Minus词法分析(FLEX)
  15. 征信报告 加密文档_PDF文档如何加密?看完这个方法你就知道了
  16. 婚恋网站能遇见幸福吗?2019互联网婚恋交友行业洞察
  17. Golang优秀开源项目汇总(持续更新。。。)
  18. windows微软商店下载应用失败/下载故障的解决办法;如何在网页上下载微软商店的应用
  19. 月光博客从当年的权重7衰落到现在的4说明了什么?[图]
  20. openssl之EVP系列之11---EVP_Verify系列函数介绍

热门文章

  1. Windows的配置
  2. eclipse如何关闭自动更新
  3. ui与前端的仇恨_我如何学会停止仇恨并开始喜欢Windows 8
  4. Word页面设置点击“确定”后出现卡死情况
  5. OpenCV-Python的一些简单用法
  6. Android AudioRecord录音功能实现并pcm转wav
  7. 王垠:机器与人类视觉能力的差距(2)
  8. 论文阅读笔记(3)---基于深度学习的节律异常或传导阻滞多标签心电图自动诊断
  9. Android 仿支付宝支付密码输入框的具体实现
  10. foxmail 发送邮件到 Poste邮件服务的端口设置