相关文章推荐
不羁的风衣  ·  如何解决 ...·  2 年前    · 
要出家的毛豆  ·  html ...·  2 年前    · 

输入命令 gcc -m32 -no-pie -o linkbomb main.o phase1.o 将两个可重定位进行连接的时候出错,报错: gcc: error: unrecognized command line option ‘-no-pie’

  • 原因:centos默认gcc编译版本为4点几,所以需要升级gcc,这里使用yum install进行安装。

  • 依次输入下面命令
    sudo yum install centos-release-scl-rh
    sudo yum install devtoolset-8-build
    sudo yum install devtoolset-8-gdb
    source /opt/rh/devtoolset-8/enable ,设置开机启动

  • 使用gcc –v查看版本,升级为8.3.1版本
    在这里插入图片描述

gcc : error : unre cognized command line option ‘-std=c++14’ error : command ' gcc ' failed with exit status 1 报错 原因分析 gcc 版本过低,需要升级 4.8.5 --> 5.2.0 cd /usr/local/src # 下载 gcc 5.2.0源码 wget http://ftp.gnu.org/gnu/ gcc / gcc -5.2.0/ gcc -5.2.0.tar.bz2 tar - 这一个小小的错误,却耗费了我将近12个小时来解决。现在已经是凌晨,记录一下,希望能帮到大家。 首先,这个错误很明显了,g++版本不够,在stackoverfow上,得知-std=c++14需要g++5.2以上,而 centos 默认的g++只有4.8.5。 所以,所有要做的事情,是升级g++。 由于一开始对这方面不了解,走了许多弯路,现在把干货归纳如下: 输入 yum list | gre.. cc1 和 gcc 什么关系? GCC 的编译有多个阶段,每个阶段都使用不同的内部命令。特别是C,首先使用cpp进行预处理,然后编译为汇编,汇编为机器语言,然后链接在一起。 cc1是​​内部命令,用于获取预处理的C语言文件并将其转换为程序集。它是编译C的实际部分。对于C ++,有cc1plus和其他用于不同语言的内部命令。 第一,你没有安装g++ 第二,你的 gcc 的版本和g++版本不相符合 源码安装 gcc : https://blog.csdn.net/ydyang1126/article/details/76822261 centos 下g++安装包名字叫做: gcc -c++ # yum -y i Gcc 编译器 报错 gcc -m32 报错 :/work/printf_myself$ gcc -m32 -o push_test push_test.c In file included from /usr/include/stdio.h:27:0, from push_test.c:12: /usr/include/features.h:367:25: fatal error : sys/cdefs.h: No such file or direct 上篇文件写完后,很多人留言说VCS启动有些问题在文中没有解决,这里总结汇总了下从VCS安装好以后,临时license授权到使用VCS成功运行并用verdi dump波形这个过程中可能会遇到的一些问题及解决方法。关于VCS安装可以参考我之前写的文章。安装 gcc 4.8即可,这里安装直接从官方下载安装即可,不建议使用安装包的方式完成,如果虚拟机不能联网,再尝试安装包的方式解决问题。 GCC 的安装 Linux gcc 编译器升级 make时出现 error : unre cognized command line option 错误升级 gcc 解决 问题:本机编 gdi 模块时, 报错 :Module gdi is in DEFALUT modemake[1]: Entering directory `F:/MTK52'Compiling plutommi/Framework/GDI/gdisrc/gdi_primitive.c 编译环境:g++ 4.6 内容:pthread 在windows系统中通过cygwin编译c++ 多线程程序,编译指令: g++ Thread.cpp -static-lib gcc -static-libstdc++       发现 报错 ,百度查询说是线程编译指令是:g++ -Wl,--no-as-needed -std=C++11 -pthread Thre 用 openwrt 工具链编译 openssl-1.1.1d,出现如下错误: mipsel-openwrt- linux - gcc : error : unre cognized command line option ‘-m64’ Makefile:708: recipe for target ‘apps/app_rand.o’ failed 很多人说打开 Makefile 删除 -m64 继续编译,这样可以解决,但是每次都这样吗,太费劲。 回归正题,具体原因是没有给定 os/compile,所以默认会添加 -m