【问题标题】:Reference error when attempting to build/link project with mingw-w64尝试使用 mingw-w64 构建/链接项目时出现参考错误
【发布时间】:2021-05-02 02:15:54
【问题描述】:

我正在尝试构建我的程序,但遇到了我不知道如何解决的错误。

错误是undefined reference to '__security_init_cookie'undefined reference to '__mingw_init_ehandler'。我怀疑这与链接有关,但我不确定如何解决这个问题,我在谷歌上没有找到真正的解决方案。

我的编译参数如下所示,并带有相关错误:

编译:

g++ -Wl,-subsystem,windows -mthreads -o debug\WAMsoft.exe 
@object_script.WAMsoft.Debug  -LC:\boost_1_75_0\boost -LC:\cygwin64\usr\x86_64-
w64-mingw32\sys-root\mingw\lib -L\usr\include -Xlinker --verbose -w -lgmp -lm -
LC:\Users\ChrisFusco\Documents\QT\qt5-build\qtbase\lib 
C:\Users\ChrisFusco\Documents\QT\qt5-build\qtbase\lib\libQt5Widgetsd.a 
C:\Users\ChrisFusco\Documents\QT\qt5-build\qtbase\lib\libQt5Guid.a 
C:\Users\ChrisFusco\Documents\QT\qt5-build\qtbase\lib\libQt5Xmld.a 
C:\Users\ChrisFusco\Documents\QT\qt5-build\qtbase\lib\libQt5XmlPatternsd.a 
C:\Users\ChrisFusco\Documents\QT\qt5-build\qtbase\lib\libQt5Networkd.a 
C:\Users\ChrisFusco\Documents\QT\qt5-build\qtbase\lib\libQt5Cored.a  "C:\Program 
Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-
mingw32\lib\libglu32.a" "C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-
rev0\mingw64\x86_64-w64-mingw32\lib\libopengl32.a" "C:\Program Files\mingw-
w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-mingw32\lib\libgdi32.a" 
"C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\x86_64-w64-
mingw32\lib\libuser32.a" -lmingw32 C:\Users\ChrisFusco\Documents\QT\qt5-
build\qtbase\lib\libqtmaind.a -lshell32

完全错误:

attempt to open C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o succeeded
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/crtend.o
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.text+0x264): undefined reference to `__mingw_init_ehandler'      
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.text+0x4c2): undefined reference to `__security_init_cookie'     
C:/Program Files/mingw-w64/x86_64-8.1.0-posix-seh-rt_v6-rev0/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/lib/../lib/crt2.o:crtexe.c:(.text+0x4f2): undefined reference to `__security_init_cookie'     
collect2.exe: error: ld returned 1 exit status

非常感谢任何帮助;我已经在这工作了好几天了,我只想继续编码!

【问题讨论】:

  • 一个简单的 Hello World 程序对你有用吗?

标签: c++ qt gcc mingw mingw-w64


【解决方案1】:

我以前也遇到过类似的问题。当显示以下消息时,问题通常是找不到静态库

....的未定义引用

我的建议是为什么不将您的静态库“.a”移动到文件夹中

/x86_64-w64-mingw32/lib/

【讨论】:

    猜你喜欢
    • 2021-08-15
    • 1970-01-01
    • 2020-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    相关资源
    最近更新 更多