gpt4 book ai didi

gcc - collect2 : error: ld terminated with signal 11 [Segmentation fault], 核心已转储

转载 作者:行者123 更新时间:2023-12-04 11:05:54 29 4
gpt4 key购买 nike

我当时正在使用 GLFW 学习 OpenGL,当时对 makefile 并没有很好的理解。我使用 OpenGL,但我决定更多地学习 makefile。经过很多网站、时间和反复试验,我想出了这个:

EXENAME = "OpenGL Demo"
CC = gcc
SRCS = ../src/OpenGLDemo.c
OBJS = $(SRCS: .c = .o)
CFLAGS = -Wall -g -c
LIBS = -L./libs -lglfw3 C:/Windows/SysWOW64/opengl32.dll C:/Windows/SysWOW64/glu32.dll

all: opengldemo exe

exe: $(OBJS)
$(CC) $(OBJS) -o $(EXENAME) $(LIBS)

opengldemo: ../src/OpenGLDemo.c
$(CC) $(CFLAGS) ../src/OpenGLDemo.c

clean:
rm -f $(EXENAME)

rebuild: clean all

但是,当我进行编译时,尝试构建可执行文件时会出现此错误:
collect2: error: ld terminated with signal 11 [Segmentation fault], core dumped
makefile:11: recipe for target 'exe' failed
make: *** [exe] Error 1

它确实生成了一个可执行文件,但是我的计算机说它不能运行它。
我尝试在互联网上搜索,并找到了包含此错误的 gcc 错误报告。为了得到这个错误,我可能正在做一些愚蠢的事情。
如何修复此错误,它是什么意思?

编辑:完整输出:
make
gcc -Wall -g -c ../src/OpenGLDemo.c
gcc ../src/OpenGLDemo.c -o "OpenGL Demo" -L./libs -lglfw3
C:/Windows/SysWOW64/opengl32.dll C:/Windows/SysWOW64/glu32.dll
cygwin warning:
MS-DOS style path detected: C:/Windows/SysWOW64/opengl32.dll
Preferred POSIX equivalent is: /cygdrive/c/Windows/SysWOW64/opengl32.dll
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
collect2: error: ld terminated with signal 11 [Segmentation fault], core dumped
makefile:11: recipe for target 'exe' failed
make: *** [exe] Error 1

最佳答案

这意味着 ld 工具或其依赖项之一存在导致无效内存访问(段错误)的错误,操作系统会在该错误上使用 SIGSEGV(信号 11)终止进程。无论您的build设置如何,它都不应该崩溃。

您可能应该向 Linux 发行版供应商或直接向 ld 工具(通常是 GNU,以防 ld 工具来自 GNU binutils )的供应商提交 ld 的错误报告。

关于gcc - collect2 : error: ld terminated with signal 11 [Segmentation fault], 核心已转储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25371372/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com