如何修复错误“clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)”?

Posted

技术标签:

【中文标题】如何修复错误“clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)”?【英文标题】:How to fix error "clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)"? 【发布时间】:2013-08-13 20:32:14 【问题描述】:

在编译包含 main.cpp、pattern.cpp 和 pattern.h 的 C++ 程序时(包含两个函数声明但没有类的头文件;这些函数在 pattern.cpp 中定义并且 main.cpp 包含 #include "pattern .h" 在顶部)通过键入:

clang++ main.cpp

错误信息是:

/tmp/cc-nrPup0.o: In function `main':
main.cpp:(.text+0x69): undefined reference to `pattern(int, int)'
collect2: ld returned 1 exit status
clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)

我该如何解决这个问题?我尝试输入 -v,但 clang 输出已终止,这是一个无效命令

【问题讨论】:

显示您用于构建问题的命令。 【参考方案1】:

您似乎只编译了 main.cpp 而不是 pattern.cpp。当需要将可执行文件链接在一起时,将找不到pattern.cpp 中定义的函数。未定义的引用表明您的main.cpp 在某处使用pattern(int, int)。如果从未编译过pattern.cpp,您就会明白为什么这会成为问题。

尝试编译:

clang++ -Wall -pedantic main.cpp pattern.cpp -o main

【讨论】:

以上是关于如何修复错误“clang: error: linker (via gcc) command failed with exit code 1 (use -v to see invocation)”?的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 WordPress 中的 HTTP 错误

如何修复 Ubuntu 中检测到系统程序错误的问题

如何修复“找不到名称'ClipboardItem'”错误?

如何修复 C++ 中的“分段错误”错误

分段错误错误(信号名称:SIGSEGV)的原因是啥,我将如何找到/修复它?

如何修复以下错误? [复制]