编译万花筒教程 代码失败clang++ -g -O3 toy.cpp $(llvm-config --cxxflags) -std=c++17
(如示例所示)并输出以下错误:
Undefined symbols for architecture x86_64:
"llvm::DisableABIBreakingChecks", referenced from:
llvm::VerifyDisableABIBreakingChecks in toy-e1a114.o
ld: symbol(s) not found for architecture x86_64
clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
LLVM 与brew install llvm
(发布此问题时的版本 10)一起安装,后来更改为brew install llvm@8
.
有趣的是,删除标题llvm/ADT/STLExtras.h
实际上解决了这个问题。但恐怕删除它不会是一个通用的解决方案。