ubuntu编译html,ubuntu 源码编译安装cmake

本文指导如何在更新后的Ubuntu上解决cmake编译过程中遇到的GLIBCXX_3.4.15缺失问题,涉及库文件迁移和编译步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

郑重声明:本文是笔者根据个人理解所写,错误难免,欢迎拍砖!

可以任意转载、修改,转载时是否标明出处,随君而定!

从cmake官网下载最新的cmake版本,笔者下载的是cmake-2.8.10.2.tar.gz,地址http://www.cmake.org/cmake/resources/software.html

1、解压cmake-2.8.10.2.tar.gz

tar -xvf cmake-2.8.10.2.tar.gz

2、在cmake-2.8.10.2同级目录下新建一个编译目录

mkdir cmake-bulid

cd cmake-build

3、编译cmake

.././bootstrap

注意:可能会出现如下错误:

/usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.15' not found

这个是因为笔者更新ubuntu gcc编译器导致的。

解决方法:

a. 查看libstdc++.so.6支持GLIBC

strings /usr/lib/libstdc++.so.6 | grep GLIBC

output:

GLIBCXX_3.4

GLIBCXX_3.4.1

GLIBCXX_3.4.2

GLIBCXX_3.4.3

GLIBCXX_3.4.4

GLIBCXX_3.4.5

GLIBCXX_3.4.6

GLIBCXX_3.4.7

GLIBCXX_3.4.8

GLIBCXX_3.4.9

GLIBCXX_3.4.10

GLIBCXX_3.4.11

GLIBCXX_3.4.12

GLIBCXX_3.4.13

GLIBC_2.0

GLIBC_2.3

GLIBC_2.1

GLIBC_2.1.3

GLIBC_2.3.2

GLIBC_2.2

GLIBCXX_FORCE_NEW

GLIBCXX_DEBUG_MESSAGE_LENGTH

发现里面没有支持GLIBCXX_3.4.15。在这里,笔者ubuntu中安装的gcc 4.7

ls /usr/local/gcc-4.7.2/

output:

bin include lib libexec share

将/usr/local/gcc-4.7.2/lib/目录下面的libstdc++.so.6和libstdc++.so.6.0.17拷贝到/usr/lib/目录下面:

sudo cp /usr/local/gcc-4.7.2/lib/libstdc++.so.6 /usr/lib/

sudo cp /usr/local/gcc-4.7.2/lib/libstdc++.so.6.0.17 /usr/lib/

sudo rm -f /usr/lib/libstdc++.so.6.0.13

删除libstdc++.so.6旧的链接,建立新的链接,同时删除libstdc++.so.6.0.13:

sudo ln -sf /usr/lib/libstdc++.so.6.0.17 /usr/lib/libstdc++.so.6

sudo rm -f /usr/lib/libstdc++.so.6.0.13

至此搞定,现在我们回到编译cmake中。重复刚才的命令:

.././bootstrap

注意:此时我们仍然在cmake-bulid目录下面。

上面成功以后就执行如下2个命令:

make

sudo make install

查看cmake是否安装成功:

cmake --version

output:

cmake version 2.8.10.2

恭喜你,安装成功了。

### 源码编译安装最新版本 CMake 的步骤 在 Ubuntu 18.04 上使用源码编译的方式安装最新版本的 CMake 是一种常见且灵活的方法。以下是详细的步骤: #### 1. 下载最新版本的 CMake 源码包 首先,访问 CMake 的官方 GitHub 发布页面(https://github.com/Kitware/CMake/releases)以获取最新版本的源码包。假设最新版本为 `v3.25.0`,可以使用以下命令下载: ```bash wget https://github.com/Kitware/CMake/releases/download/v3.25.0/cmake-3.25.0.tar.gz ``` #### 2. 解压源码包 下载完成后,解压源码包以便进行后续的编译操作: ```bash tar -xzvf cmake-3.25.0.tar.gz ``` #### 3. 进入解压后的目录 进入解压后的目录以准备编译环境: ```bash cd cmake-3.25.0 ``` #### 4. 配置编译环境 使用 `bootstrap` 脚本配置编译环境。此步骤会检查系统依赖并生成 Makefile: ```bash ./bootstrap ``` 如果系统缺少某些依赖项,`bootstrap` 会提示安装。例如,可能会需要安装 `libssl-dev` 或其他开发库。按照提示安装依赖后,重新运行 `bootstrap`。 #### 5. 编译 CMake 完成配置后,开始编译 CMake: ```bash make ``` 此步骤可能会花费几分钟时间,具体取决于系统的性能。 #### 6. 安装 CMake 编译完成后,将 CMake 安装到系统目录中,通常为 `/usr/local/bin`: ```bash sudo make install ``` #### 7. 验证安装 安装完成后,验证 CMake 的版本以确保安装成功: ```bash cmake --version ``` 输出应显示最新安装的版本号,例如: ``` cmake version 3.25.0 ``` #### 8. 可选:创建软链接 如果希望将 CMake 的可执行文件链接到其他目录(例如 `/usr/bin`),可以创建软链接: ```bash sudo ln -sf /usr/local/bin/cmake /usr/bin/cmake ``` ### 注意事项 - **依赖项**:确保系统已安装必要的依赖项,例如 `build-essential` 和 `libssl-dev`。如果未安装,可以通过以下命令安装: ```bash sudo apt-get update sudo apt-get install build-essential libssl-dev ``` - **版本选择**:在下载源码包时,请根据实际需求选择合适的版本。可以参考 CMake 的 GitHub 发布页面获取最新版本信息。 - **路径选择**:默认情况下,CMake安装到 `/usr/local/bin`。如果需要安装到其他路径,可以在 `bootstrap` 时指定安装路径,例如: ```bash ./bootstrap --prefix=/opt/cmake-3.25 ``` ### 相关问题 1. 如何在 Ubuntu 18.04 上卸载通过源码安装CMake? 2. 源码编译安装 CMake 时遇到依赖问题如何解决? 3. 如何在 Ubuntu 18.04 上使用脚本自动化安装最新版本的 CMake? 4. 源码编译安装CMake 与通过包管理器安装CMake 有何区别? 5. 如何验证 CMake 是否成功安装并正确配置?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值