MacOS做LLVM开发碰到的问题集合(不定期更新)

1. 出现constexpr错误
       unknown type name ‘constexpr’
 
用Clang编译C++文件时需要指定C++版本号
解决方法:g++ -std=c++11 main.cpp
期中ch2_toy.cpp是待编译的文件,toy是编译后的结果
 
2. 包含#include “llvm/IR/….h”文件出错
  当把所有的代码删除,只包含一个主函数,然后包含llvm的头文件时,出现
      Undefined symbols for architecture x86_64:
  "llvm::EnableABIBreakingChecks", referenced from:
      llvm::VerifyEnableABIBreakingChecks in ch2_toy-fbe799.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 
解决方案:clang -std=c++11 -O3 -c ch2_toy.cpp -o toy
注意:-O3是大写字母O不是0,后面一定要带上-c

你可能感兴趣的:(编译原理)