首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MinGW GCC -未定义的对` `atexit‘的引用

MinGW GCC -未定义的对` `atexit‘的引用
EN

Stack Overflow用户
提问于 2013-11-06 21:41:32
回答 2查看 3.5K关注 0票数 0

我正在尝试将一个大型项目链接到来自MinGW的GCC 4.8.1,作为一个x86目标。我像这样调用链接器

代码语言:javascript
复制
D:\MyGCCPath\gcc -L [LIBPATHS]  -nostdlib -Wl,-Map,D:\PathToMapFile.map,--emit-relocs [OBJECTFILES AND LIBS] -lmsvcrt -lgcc -o D:\PathToMyOutputFile

通过这个调用,我得到了这个链接器错误:

代码语言:javascript
复制
libgcc.a(__main.o):(.text+0x5a): undefined reference to `atexit'

我尝试了不同的msvcr版本(100和90),但这更像是一次孤注一掷的尝试,因为我不太熟悉这个问题。我使用的是MinGW提供的正确的库。有什么方法可以修复这个错误吗?

EN

回答 2

Stack Overflow用户

发布于 2013-11-06 21:47:58

您正在使用-nostdlib进行链接,而atexit()是来自stdlib.h的函数。

根据GCC Link Options的说法

-nostdlib

链接时不要使用标准的系统启动文件或库。不会将任何启动文件传递给链接器,只会将您指定的库传递给链接器,并忽略指定系统库链接的选项,如-static-libgcc-shared-libgcc

票数 4
EN

Stack Overflow用户

发布于 2015-08-20 15:41:59

库按照命令行中使用的顺序进行检查,因此请使用-lgcc -lmsvcrt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19813659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档