Linux 如何解决';collect2:ld返回了1个退出状态';?

Linux 如何解决';collect2:ld返回了1个退出状态';?,linux,hyperlink,Linux,Hyperlink,当我在linux中构建源代码时,我遇到了如下错误 qstring.cpp:(.text+0x2c01): undefined reference to `terminate(void)' collect2: ld returned 1 exit status 如何解决此问题?您需要找出哪个对象文件或库terminate存在,并将其包含在compile/link命令中 如果它在一个对象或源文件中,只需按照常规将其交给您的gcc(假设您实际使用的是gcc,否则,方法可能类似)命令即可。如果它在一个

当我在linux中构建源代码时,我遇到了如下错误

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

如何解决此问题?

您需要找出哪个对象文件或库
terminate
存在,并将其包含在compile/link命令中


如果它在一个对象或源文件中,只需按照常规将其交给您的
gcc
(假设您实际使用的是
gcc
,否则,方法可能类似)命令即可。如果它在一个库中,你应该查看<代码> ->代码>库(LoopePosits)和<代码> >代码>(库名称)选项。C++ >代码>空洞终止(空隙){Load(9);}

<代码>终止> /Cult>在C++标准库中定义,所以确保你将它链接到。假设您使用gcc进行编译,则应使用

g++
可执行文件来编译源代码,而不是
gcc
可执行文件:

g++ source.cc -o output

当执行为代码> G++< /COD>时,链接器自动链接到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