最近需要在ubuntu上安装gccxml,我的ubuntu版本是18。

使用sudo apt-get install gccxml提示找不到gccxml,最后使用了编译安装的方式安装gccxml。

1.下载

1 git clone https://github.com/gccxml/gccxml.git

如果下载速度过慢的话,可以先将此项目挂载到码云上,再使用码云的地址下载。

下载完毕后,会在当前文件目录下生成一个名为gccxml的文件目录。

2.编译安装

按照官网的教程,在gccxml文件夹所在目录(gccxml文件夹之外)新建一个gccxml-build文件夹

1 mkdir gccxml-build

之后,检查系统有无cmake(cmake --version),如果没有,sudo apt-get install cmake;

1 cd gccxml-build
2 cmake ../gccxml
3 make
4 make install

执行到make时,编译报错:(1). floor_log2,exact_log2重定义;(2).except.c:对"libc_name_p"未定义的引用。

按照CSDN上的一篇博客进行修改:https://blog.csdn.net/ztguang/article/details/71172559

错误1:

打开gccxml/GCC/gcc/toplev.h文件,

 1 /* 这两个函数已经在toplev.c中定义过了,在toplev.h中将其注释掉
2 extern inline int
3 floor_log2 (unsigned HOST_WIDE_INT x)
4 {
5 return x ? HOST_BITS_PER_WIDE_INT - 1 - (int) CLZ_HWI (x) : -1;
6 }
7
8 extern inline int
9 exact_log2 (unsigned HOST_WIDE_INT x)
10 {
11 return x == (x & -x) && x ? (int) CTZ_HWI (x) : -1;
12 }
13 */

错误2:

打开gddxml/GCC/gcc/cp/cfns.h

1 //找到这部分代码,并改为如下
2 //#ifdef __GNUC__
3 //__inline
4 //#endif
5 const char*
6 libc_name_p (register const char *str, register unsigned int len);

修改完成后,回到gccxml-build文件夹。

我将gccxml-build中的所有文件都删掉,rm -rf *,之后重新执行:

1 cmake ../gccxml
2 make
3 make install

完成后,gccxml --version,显示GCC-XMl version 0.9.0

安装成功。

ubuntu18 编译安装gccxml的更多相关文章

  1. Ubuntu18.04下编译安装Guitarix 0.37.3

    准备工作 源文件下载 https://sourceforge.net/projects/guitarix/files/guitarix/ 安装依赖. 参考 https://sourceforge.ne ...

  2. ubuntu18.04 编译安装 apache php

    1. apache apache 需要依赖几个模块:apr, apr-util, pcre,也分别源码安装. 1.1 编译安装 1.1.1 apr apr-util 下载地址:http://apr.a ...

  3. Linux c++ vim环境搭建系列(3)——Ubuntu18.04.4编译安装youcompleteme

    3. youcompleteme编译安装 参考网址: https://github.com/ycm-core/YouCompleteMe#linux-64-bit 建议不要用这个博客的方法: http ...

  4. Linux c++ vim环境搭建系列(2)——Ubuntu18.04.4编译安装llvm clang

    2. 源码编译安装llvm clang 参考网址: https://llvhttps

  5. Linux c++ vim环境搭建系列(1)——Ubuntu18.04.4编译安装vim8.2

    1. vim源码编译安装 参考网址: https://github.com/ycm-core/YouCompleteMe/wiki/Building-Vim-from-source 安装各类依赖库 s ...

  6. 编译安装和apt安装Nginx1.14.0

    安装依赖 yum -y install gcc gcc-c++yum -y install zlib zlib-devel openssl openssl-devel pcre-devel 在Ubun ...

  7. Centos7.4和Ubuntu18.04安装PHP7.2

    安装依赖 yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcu ...

  8. Ubuntu16.04编译安装Redis Desktop Manager

    Redis Desktop Manager for OSX&Ubuntu 的安装版是收费的, 如果自己编译则是免费的. 安装过程参考官方提供的文档  http://docs.redisdesk ...

  9. ubuntu18.04 安装hadoop 2.7.3+hive 2.3.4

    1. 安装hadoop 详细请参见本人的另外一片博文<Hadoop 2.7.3 分布式集群安装> 2. 下载hive 2.3.4 解压文件到/opt/software -bin.tar.g ...

  10. 编译安装msyql

    环境: ubuntu18.04.2 mysql5.7.21 #创建mysql属组 groupadd mysql useradd -g mysql mysql #查看属组 tail /etc/passw ...

随机推荐

  1. Git基本操作命令大全

    一.全局配置命令 ## 配置级别: –local(默认,高级优先):只影响本地仓库 –global(中优先级):只影响所有当前用户的git仓库 –system(低优先级):影响到全系统的git仓库 # ...

  2. nmcli device status状态为unmanaged

    遇到报错:(device lo not available because device is strictly unmanaged) nmcli device status 查看设备状态 nmcli ...

  3. 如何使用Splashtop在家里进行有效的新人入职培训

    编辑搜图 请点击输入图片描述 今天的新闻有点不简单,不得了. 简而言之,利用Splashtop可以在家里进行有效的新人入职培训.最棒的地方就在于--两个用户可以远程访问同一台计算机,并且可以看到彼此的 ...

  4. C语言:ACLLIB图形库——如何搭建环境(附三个文件代码)

    看一下我配置完的运行结果: 1)首先创建一个项目. 2)选择win项目和C语言 3)然后找到你保存项目的文件夹里面拷贝两个.c和.h文件,两个文件代码我附在最后. 4)现在还不能用,找到项目属性 5) ...

  5. java学习之旅(day.06)

    switch多选择结构 多选择结构还有一个实现方式就是switch case switch case 语句判断一个变量与一系列值中某个值是否相等,每个值称为一个分支 switch(expression ...

  6. nginx 常见配置案例参考(优化)

    在NGINX中,可以通过配置文件和特定的指令来实现权限控制.以下是一些常见的权限控制方法: 使用deny指令: 在NGINX配置文件中,可以使用deny指令来拒绝特定IP地址或IP地址范围的访问.可以 ...

  7. Winform程序在VS中打包成安装程序(带卸载)

    场景 在VS中进行Winform开发时,可以直接在项目上右击选择生成 则会在项目的bin目录下直接生成exe等文件,此时将这个文件夹直接整个复制到别的地方就可以运行. 但是如果将其做成安装包安装的形式 ...

  8. 全网最全100个AI工具导航网站合集

    随着ChatGPT年前的爆火,人工智能也变成当今最热门的领域之一,它正在改变着我们的生活和工作方式.无论你是想要学习人工智能的基础知识,还是想要利用人工智能来提升你的业务效率和创新能力,都需要找到合适 ...

  9. Jenkins通过脚本进行自动发布

    编写以下脚本: ------------------------------------------------------------------------------------- #!/bin ...

  10. WXS 模块

    https://developers.weixin.qq.com/miniprogram/dev/framework/view/wxs/01wxs-module.html 2.1.概述 WXS(Wei ...