ubuntu18 编译安装gccxml
最近需要在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的更多相关文章
- Ubuntu18.04下编译安装Guitarix 0.37.3
准备工作 源文件下载 https://sourceforge.net/projects/guitarix/files/guitarix/ 安装依赖. 参考 https://sourceforge.ne ...
- ubuntu18.04 编译安装 apache php
1. apache apache 需要依赖几个模块:apr, apr-util, pcre,也分别源码安装. 1.1 编译安装 1.1.1 apr apr-util 下载地址:http://apr.a ...
- Linux c++ vim环境搭建系列(3)——Ubuntu18.04.4编译安装youcompleteme
3. youcompleteme编译安装 参考网址: https://github.com/ycm-core/YouCompleteMe#linux-64-bit 建议不要用这个博客的方法: http ...
- Linux c++ vim环境搭建系列(2)——Ubuntu18.04.4编译安装llvm clang
2. 源码编译安装llvm clang 参考网址: https://llvhttps
- Linux c++ vim环境搭建系列(1)——Ubuntu18.04.4编译安装vim8.2
1. vim源码编译安装 参考网址: https://github.com/ycm-core/YouCompleteMe/wiki/Building-Vim-from-source 安装各类依赖库 s ...
- 编译安装和apt安装Nginx1.14.0
安装依赖 yum -y install gcc gcc-c++yum -y install zlib zlib-devel openssl openssl-devel pcre-devel 在Ubun ...
- Centos7.4和Ubuntu18.04安装PHP7.2
安装依赖 yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcu ...
- Ubuntu16.04编译安装Redis Desktop Manager
Redis Desktop Manager for OSX&Ubuntu 的安装版是收费的, 如果自己编译则是免费的. 安装过程参考官方提供的文档 http://docs.redisdesk ...
- 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 ...
- 编译安装msyql
环境: ubuntu18.04.2 mysql5.7.21 #创建mysql属组 groupadd mysql useradd -g mysql mysql #查看属组 tail /etc/passw ...
随机推荐
- windows10 64 解决 exec:"gcc" executable file not found in %PATH%报错问题
1.下载编译好的包 https://sourceforge.net/projects/mingw-w64/files/mingw-w64/ 这里我选择64位的 2.解压完之后,配置环境变量. 解压完到 ...
- DNS(7) -- 智能DNS实现
目录 1. 智能DNS 1.1 智能DNS概述 1.2 ACL控制列表 1.3 智能DNS实现 1.3.1 bind-view功能 1.3.2 智能DNS场景实现 1.3.3 生产场景配置示例 1. ...
- Ubuntu更新源文件报错:E: 仓库 “http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release” 没有 Release 文件。
E: 仓库 "http://ppa.launchpad.net/chris-lea/node.js/ubuntu bionic Release" 没有 Release 文件. 一条 ...
- [4]自定义Lua解析器管理器-------演化脚本V0.7
[4]自定义Lua解析器管理器-------演化脚本V0.7 使用自定义委托来调用lua脚本中的多返回值函数和长参数类型的函数. 先看代码,依旧是上篇文章中所贴的脚本.新增调用两个函数testFunc ...
- SQL如何删除所有字段都相同的重复数据?
SQL Server数据库:有时候在处理数据时会遇到不加主键的表,导致数据表内出现了一模一样的数据,刚开始第一时间想到的方式是,把两条数据全部删除,然后再插入一条,但是这种可能数据量比较少的话,还可以 ...
- 如何修改npm包源码后,重新npm包的时候能是修改后的版本
肯定是clone一份到gitHub啦 保存一份修改后的npm包到自己的私有库 npm 安装 git 仓库的方式 npm install <git remote url> 例如 npm in ...
- 使用c#强大的表达式树实现对象的深克隆之解决循环引用的问题
在上一期博客里,我们提到使用使用c#强大的表达式树实现对象的深克隆,文章地址:https://www.cnblogs.com/gmmy/p/18186750.但是文章里没有解决如何实现循环引用的问题. ...
- 怀念中的java
学了这门语言后一直没能做成项目,倒是安装环境,用记事本编辑的话,除了js最好做的就是java了. 以前学java的时候是一帮很有朝气的同学,在一个培训班,每天苦哈哈.从c开始学的语言,学完基础部分转入 ...
- 更改wsl中系统的安装位置
wsl默认安装位置是C盘,众所周知C盘总是不够用的,所以才有了把wsl的系统迁移到其它位置的需求.官网文档 首先查看所有分发版本 wsl -l --all -v 导出分发版为tar文件到D盘 wsl ...
- linux curl命令的重要用法:发送GET/POST请求,获取网页内容
curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合 传输工具,但按传统,习惯称url为下载工具. #使用curl发送GET ...