zoukankan      html  css  js  c++  java
  • 【实习】从ubuntu迁移过来的代码,在centos上编译问题的解决汇总

    目前自己的开发环境(同将来线上环境)是centos 7。我这里主要实现服务端。需要组里其他同学提供一个接口(视频编辑)。公司内部自己开发环境 通常是台式ubuntu16.04。所以提供视频处理接口是在ubuntu环境下编译的。但是现在放到我的环境进行集成编译,遇到了一些问题,主要是gcc版本还有一些系统库不兼容的问题。特此记录

    问题1:gcc升级

    问题描述:gcc 版本不兼容,centos 7系的原生gcc版本是4.8,而ubuntu 16.04则比较新,是gcc 5.4.0所以我的环境gcc版本需要向上兼容。

    从网上查资料总结出gcc的升级主要有两种方式,一种是源码编译。另一种是

    很尴尬的一件事是 公司的开发机(centos)在安装gcc依赖时一直不能成功,应该是网络的问题,即执行这个脚本 

    问题2:glibc库升级

    问题3:binutils库升级

    关于什么是 binutils 转自 https://blog.csdn.net/lu_embedded/article/details/78205161

    问题描述:在进行g++编译时,报了如下的错误,类似的问题说是需要升级一下binutils

    参考帖子:https://blog.csdn.net/raoping2017/article/details/71616719

    但是我们的问题还是有所差别,所以我对比了一下ubuntu 16.04和我的centos 7的binutils版本:

    centos的binutils版本是 2.25 ubuntu的binutils版本是 2.26

    现在需要升级的binutils。

    首先先查看一下binutils版本:

    ld -v

    第1步:下载

    wget https://ftp.gnu.org/gnu/binutils/binutils-2.26.tar.gz

    第2步:解压,编译安装

    tar -zxf binutils-2.26.tar.gz 
    cd binutils-2.26
    ./configure --prefix=/usr
    make 
    make install

    然后再次查看binutils版本:

    升级成功,此时上述问题再次编译,通过。

  • 相关阅读:
    CSS浮动(float、clear)通俗讲解
    JAVA 类的加载
    数据库操作 delete和truncate的区别
    正则表达式 匹配相同数字
    Oracle EBS OM 取消订单
    Oracle EBS OM 取消订单行
    Oracle EBS OM 已存在的OM订单增加物料
    Oracle EBS OM 创建订单
    Oracle EBS INV 创建物料搬运单头
    Oracle EBS INV 创建物料搬运单
  • 原文地址:https://www.cnblogs.com/xuelisheng/p/10452111.html
Copyright © 2011-2022 走看看