输入命令
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