出现问题:
error: no member named 'MaybeAlign' in namespace 'llvm'
return context.builder.CreateAlignedStore(val, ptr, llvm::MaybeAlign(4));
~~~~~~^
error: no member named 'MaybeAlign' in namespace 'llvm'
return context.builder.CreateAlignedLoad(ptr, llvm::MaybeAlign(4));
解决过程:
使用brew info llvm
查看llvm版本(brew install llvm
安装)
llvm: stable 12.0.0 (bottled), HEAD [keg-only]
发现是keg-only
的版本(我也不知道这是什么),但是brew提示了我
If you need to have llvm first in your PATH, run:
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> ~/.zshrc
For compilers to find llvm you may need to set:
export LDFLAGS="-L/usr/local/opt/llvm/lib"
export CPPFLAGS="-I/usr/local/opt/llvm/include"
感觉修改环境变量太麻烦了,于是……
解决方案:
在编译项目使用的CMakeLists中添加:
SET(LLVM_DIR /usr/local/opt/llvm/lib/cmake/llvm)
SET(CMAKE_PREFIX_PATH /usr/local/opt/llvm/lib/cmake/)
根据自己llvm的安装地址进行调整
编译成功
yeah~