嗨玩手游网

centos 7升级gcc到10.5.0

可能遇到的问题:1、/lib64/libstdc++.6: version `GLIBCXX_3.4.21' not found问题

2、编译报错:error: 'const char* libc_name_p

[INFO ] ================================================================= [INFO ] Installing final gcc compiler [EXTRA] Configuring final gcc compiler [EXTRA] Building final gcc compiler [ERROR] cfns.gperf:101:1: error: 'const char* libc_name_p(const char*, unsigned int)' redeclared inline with 'gnu_inline' attribute [ERROR] make[3]: *** [cp/except.o] Error 1 [ERROR] make[2]: *** [all-gcc] Error 2 [ERROR] make[1]: *** [all] Error 2 [ERROR]

1、安装gcc

由于 Linux 操作系统的自由、开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS、Ubuntu、Debian 等。这些 Linux 发行版中,大多数都默认装有 GCC 编译器(版本通常都较低)。

1.1、查看是否含有gcc及gcc版本

[root@localhost ~]# gcc -vUsing built-in specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/6.5.0/lto-wrapperTarget: x86_64-pc-linux-gnuConfigured with: ../../gcc-6.5.0/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilibThread model: posixgcc version 6.5.0 (GCC)[root@localhost ~]#

可以看到,系统中包含了gcc且版本为6.5.0,如果没有gcc,可以通过下面命令来进行安装

1.2、快速安装gcc

yum -y install gccyum -y install gcc-c++

通过如上命令得到的gcc通常版本较低。

2、升级gcc

升级gcc需要在系统中包含一个低版本的gcc

2.1、下载gcc源码包并解压缩

下载地址:gnu-gcc安装包下载_开源镜像站-阿里云,可以手动下载,也可以通过wget直接下载到服务器上

# 进入目录cd /usr/local# 下载源码wget /d/file/gt/2023-09/nx5wlncl3k5.gz 解压缩tar -zxvf gcc-10.2.0.tar.gz# 进入gcc源码目录cd gcc-10.5.0/

2.2、下载编译依赖项

./contrib/download_prerequisites

执行完毕后,可以发现gcc-10.5.0的目录中多了gmp、isl、mpc、mpfr,如果没有这些依赖包,则不能进行下面的操作。

2.3、新建gcc-bulid目录(与gcc-10.5.0同级)并进入该目录中

mkdir gcc-buildcd gcc-build/

2.4、生成Makefile文件

../gcc-10.5.0/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib

这时候如果出现报错:

checking for the correct version of gmp.h... no configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.

解决办法:执行以下命令

yum -y install gmp gmp-devel mpfr mpfr-devel libmpc libmpc-devel

再次运行命令就成功了

../gcc-10.5.0/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilib

2.5、开始编译

make

注意:编译时间较长,请选择适当的时间进行此操作。

GCC高版本编译低版本GCC报错:

[INFO ] =================================================================[INFO ] Installing final gcc compiler[EXTRA] Configuring final gcc compiler[EXTRA] Building final gcc compiler[ERROR] cfns.gperf:101:1: error: 'const char* libc_name_p(const char*, unsigned int)' redeclared inline with 'gnu_inline' attribute[ERROR] make[3]: *** [cp/except.o] Error 1[ERROR] make[2]: *** [all-gcc] Error 2[ERROR] make[1]: *** [all] Error 2[ERROR]

解决办法,修改要编译的GCC代码,参考链接如下

https://gcc.gnu/git/?p=gcc.git;a=commitdiff;h=ec1cc0263f156f70693a62cf17b254a0029f4852

2.6、安装

make install

2.7、重启

2.8、验证

[root@localhost ~]# gcc -vUsing built-in specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/10.5.0/lto-wrapperTarget: x86_64-pc-linux-gnuConfigured with: ../../gcc-10.5.0/configure --prefix=/usr/local --enable-checking=release --enable-languages=c,c++ --disable-multilibThread model: posixgcc version 10.5.0 (GCC)[root@localhost ~]#

3、依赖新的版本

3.1 、进入/usr/lib64目录

cd /usr/lib64

3.2、拷贝libstdc++.6.0.28到系统/usr/lib64目录下

cp /usr/local/lib64/libstdc++.6.0.28 .

3.3、修改文件权限

chmod 755 libstdc++.6.0.28

3.4、备份原libstdc++.6软连接

mv libstdc++.6 libstdc++.6-bak

3.5、创建新的软连接,连接到新的库

ln -s libstdc++.6.0.28 libstdc++.6

3.6、验证依赖是否更新

ll libstd*[root@localhost lib64]# ll libstd*lrwxrwxrwx. 1 root root 19 Jul 14 20:05 libstdc++.6 -> libstdc++.6.0.22-rwxr-xr-x. 1 root root 995840 Sep 29 2020 libstdc++.6.0.19-rwxr-xr-x. 1 root root 11541760 Jul 14 20:04 libstdc++.6.0.22-rwxr-xr-x. 1 root root 16833120 Jul 14 04:46 libstdc++.6.0.28lrwxrwxrwx. 1 root root 19 Feb 9 2022 libstdc++.6-bak -> libstdc++.6.0.19lrwxrwxrwx. 1 root root 19 Jul 14 04:48 libstdc++.6-bak.bak -> libstdc++.6.0.28[root@localhost lib64]#

3.7、验证新的库是否生效

strings /usr/lib64/libstdc++.6|grep GLIBCXX[root@localhost lib64]# strings /usr/lib64/libstdc++.6|grep GLIBCXXGLIBCXX_3.4GLIBCXX_3.4.1GLIBCXX_3.4.2GLIBCXX_3.4.3GLIBCXX_3.4.4GLIBCXX_3.4.5GLIBCXX_3.4.6GLIBCXX_3.4.7GLIBCXX_3.4.8GLIBCXX_3.4.9GLIBCXX_3.4.10GLIBCXX_3.4.11GLIBCXX_3.4.12GLIBCXX_3.4.13GLIBCXX_3.4.14GLIBCXX_3.4.15GLIBCXX_3.4.16GLIBCXX_3.4.17GLIBCXX_3.4.18GLIBCXX_3.4.19GLIBCXX_3.4.20GLIBCXX_3.4.21GLIBCXX_3.4.22

jdk下载:Index of java-local/jdk

Android软件多开分身v7.2破解版无限多开虚拟定位无需root

软件多开是Android上面的一个应用分身的工具,是一个非常好用的应用多开软件。在此之前我分享过一个应用多开大师,相比哪个软件这个软件更加的简单一些,关键是可以支持一小戳软件的虚拟定位,这个是难能可贵的,现在虚拟定位的软件大部分都是需要root权限的,不过这个不需要root,这一点我有一点奇怪,他具体是怎么做到的。

多开分身(微信多开、微信双开、微信分身)支持一部手机轻松实现本地软件和游戏的多开、双开,免ROOT支持虚拟定位、机型伪装、红包提醒等各种贴心功能。源自内核级技术、不占内存,快速稳定!微商、娱乐、游戏用户必备神器!

1.支持更多应用游戏的多开、双开,使用更稳定、快速、更安全!狼人杀、王者荣耀、阴阳师等多开、虚拟定位更有趣!

2.红包助手:支持微信、QQ、支付宝红包等主流红包平台的红包提醒,软件不获取用户的任何信息,请放心使用!

3.虚拟定位:无需root,搭配主流地图,完美支持GPS、WIFI、基站模拟定位,支持各类主流游戏、社交应用!王者荣耀无需ROOT换战区,让您快速拿称号!球球大作战,猎魔地图随便换!钉钉、纷享销客等随时随地一键签到!

4.机型模拟:一键实现全真实机型伪装(包含品牌、型号、IMEI、IMSI、SN等),减少多开封号风险!王者荣耀模拟机型开高帧率,玩的更流畅!

其中最出色的就是红包提醒了吧,不过这个功能需要vip才能够使用,但是我提供的是破解的版本,所以无需担心,能够正常使用的。

软件正常安装即可,Android系统下的经过自己的测试发现并无问题。

再一个软件比较小,所以上传到了城通网盘,这样每一个新用户的下载,可以获得4分钱的分成,大家多担待。如你不喜欢,也可以发红包给我。!!

网上看了不少,终于把ZlmediaKit流媒体框架搭建起来啦

你都站在2023年代了,视频通话、视频直播、视频会议、视频监控就是风口浪尖上的猪师兄,只要你学那么一丁点,拿个高薪的工作不过分吧!我也是半瓶子晃荡的,所以路人呀,共学习,同进步!本篇开始,只讲在Linux系统安装ZlmediaKit框架!

ZLMediaKit 是一个基于C++11的高性能运营级流媒体服务框架。它到底有多强,一张图即是巅峰!另外这家伙的官网:https://github/ZLMediaKit/ZLMediaKit

ZlmediaKit支持的视频编码

<--------ZlmediaKit的部署-------->

《ZlmediaKit流媒体服务器框架部署文档》

目录

一、 准备系统环境

二、安装相关软件包

三、部署ZlmediaKit软件

文档版本

修改时间

修改者

备注

V1

2023-07

记录生活那些事儿

新建

一、准备系统环境Centos7.9的操作系统;可以连接到公网网络。二、安装相关软件包

以下使用root身份去安装:

安装GCC编译器,版本不低于4.8.5版本

yum -y install gccyum -y install gcc-c++

安装并升级cmake至3.1版本以上。

删除cmake旧版本

yum remove cmake -y

创建安装目录,安装新版本cmake

mkdir /opt/cmakecd /opt/cmaketar zxvf cmake-3.9.2.tar.gz

编译和安装:

cd cmake-3.9.2./configure --prefix=/usr/local/cmakemake && make install

修改环境变量:

vi /etc/profile在最后PATH添加环境变量:export CMAKE_HOME=/usr/local/cmakeexport PATH=$PATH:$CMAKE_HOME/bin保存环境变量:source /etc/profile

查看cmake版本

cmake --version

安装其他rpm包

yum install -y zlib zlib-devel perl-CPAN

安装openssl,使用webrtc功能,需要替换为1.1.1k的版本。

解压tar -zxvf openssl-1.1.1k.tar.gzcd openssl-1.1.1k./config shared --openssldir=/usr/local/openssl --prefix=/usr/local/opensslmake && make installecho "/usr/local/openssl/lib" >> /etc/ldnfldconfig

此时,系统中同时存在2个版本的openssl,如下图:

【注】修改软连接。

备份原来的openssl可执行命令文件

mv /usr/bin/openssl /usr/bin/openssl_oldln -s /usr/local/openssl/bin/openssl /usr/bin/openssl (替换系统中的原openssl)

安装 yasm软件

tar -zxvf yasm-1.3.0.tar.gzcd yasm-1.3.0./configuremake && make install

安装libsrtp软件

tar -zxvf libsrtp-2.5.0.tar.gzcd libsrtp-2.5.0./configure --enable-openssl --with-openssl-dir=/usr/local/openssl(这个要用新的1.1.1k)make -j8 && make install

安装ffmpeg新版本5.1

unzip FFmpeg-mastercd FFmpeg-master./configure --prefix=/usr/local/ffmpegmake && make install

配置文件:

vim /etc/profileexport PATH=$PATH:/usr/local/ffmpeg/binsource /etc/profile 设置生效

查看版本:

ffmpeg -version

三、部署ZlmediaKit软件

1)获取代码

git clone --depth 1 https://gitee/xia-chu/ZLMediaKitcd ZLMediaKit#千万不要忘记执行这句命令git submodule update --init

2)构建和编译

cd ZLMediaKitmkdir buildcd buildcmake .. -DENABLE_WEBRTC=true -DOPENSSL_ROOT_DIR=/usr/local/openssl -DOPENSSL_LIBRARIES=/usr/local/openssl/libmake -j4

运行ZlmediaKit程序

cd ZLMediaKit/release/linux/Debug#通过-h可以了解启动参数./MediaServer -h#以守护进程模式启动./MediaServer -d &#以自定义配置文件启动./MediaServer -c 配置文件具体地址

4)webrtc推流测试

在上步骤进行完成后,以内网测试服务器为例,访问 https://192.168.X.X:80 获取更

【多余的解释:】

第一步先搞定ZlmediaKit的部署,然后再学习使用,过程中才能遇到问题,克服困难,收获知识点,之后你才算是有技术的小伙子!

上面用到的几个文件,放到了百度网盘:

链接:/d/file/gt/2023-09/rsrhecopa1y

更多攻略
游戏推荐
更多+