gcc源码编译报错:error: dereferencing pointer to incomplete type ‘struct ucontext’ 解决办法
Posted Z.Q.Feng
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gcc源码编译报错:error: dereferencing pointer to incomplete type ‘struct ucontext’ 解决办法相关的知识,希望对你有一定的参考价值。
项目场景
在安装 gcc
使用 make
编译源码时,出现如下报错:
In file included from ../.././libgcc/unwind-dw2.c:401:0:
./md-unwind-support.h: In function ‘x86_64_fallback_frame_state’:
./md-unwind-support.h:65:47: error: dereferencing pointer to incomplete type ‘struct ucontext’
sc = (struct sigcontext *) (void *) &uc_->uc_mcontext;
^~
解决办法
修改 md-unwind-support.h
文件的第 61
行,其中该文件位于 ./x86_64-pc-linux-gnu/libgcc
目录下:
vim ./x86_64-pc-linux-gnu/libgcc/md-unwind-support.h
输入 :61
,跳转到第 61 行,修改 struct ucontext *uc_ = context->cfa;
中的 ucontext
为 ucontext_t
:
struct ucontext_t *uc_ = context->cfa;
按下 ESC 键,输入 :wq
保存并退出,重新执行 make
。
以上是关于gcc源码编译报错:error: dereferencing pointer to incomplete type ‘struct ucontext’ 解决办法的主要内容,如果未能解决你的问题,请参考以下文章
golang panic: runtime error: invalid memory address or nil pointer dereference [
ffmpeg交叉编译报错:aarch64-mix210-linux-gcc: error: missing argument to ‘-mcpu=‘
ffmpeg交叉编译报错:aarch64-mix210-linux-gcc: error: missing argument to ‘-mcpu=‘
Linux下gcc编译报错:fatal error: linux/cyclades.h: No such file or directory 解决办法
CentOS gcc编译报错:gcc: error trying to exec ‘cc1plus‘: execvp: No such file or directory(原因:g++没安装)
Linux下gcc编译报错:fatal error: sys/ustat.h: No such file or directory 解决办法