gpt4 book ai didi

linux - 'collect2: ld returned 1 exit status '怎么解决?

转载 作者:IT王子 更新时间:2023-10-29 00:21:01 30 4
gpt4 key购买 nike

当我在 linux 中构建我的源代码时,我遇到了类似这样的错误

qstring.cpp:(.text+0x2c01): undefined reference to `terminate(void)'
collect2: ld returned 1 exit status

如何解决这个问题?

最佳答案

terminate 是在 C++ 标准库中定义的,因此请确保将其链接到其中。假设您正在使用 gcc 进行编译,则应使用 g++ 编译源代码的可执行文件,不是 gcc 可执行文件:

g++ source.cc -o output

当作为 g++ 执行时,链接器会自动为您链接 C++ 标准库 (libstdc++)。如果您改为将 gcc 作为普通 gcc 执行,或者您直接调用链接器 ld,那么您需要自己添加 -lstdc++ 以链接到图书馆,例如:

gcc source.cc -o output -lstdc++  # Compile directly from source
ld source1.o source2.o -o output -lstdc++ # Link together object files

关于linux - 'collect2: ld returned 1 exit status '怎么解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4222501/

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