我正在使用本指南:http://llvm.org/releases/3.0/docs/WritingAnLLVMPass.html用于创建llvm传递,但是当我使用
时出现以下错误opt -load ../../../Debug+Asserts/lib/Hello.so -hello < hello.bc > /dev/null
Error opening '../../../Release/lib/Hello.so': ../../../Release/lib/Hello.so: undefined symbol: _ZN4llvm12PassRegistry12registerPassERKNS_8PassInfoEb
-load request ignored.
opt: Unknown command line argument '-hello'. Try: 'opt -help'
请注意,我没有“Debug + Asserts”文件夹,而是“Release”
有人知道这是什么问题吗?也许是因为创建Hello.bc文件我使用llvm-clang而不是llvm-gcc? (本指南说使用llvm-gcc,但它不起作用:http://llvm.org/releases/3.0/docs/GettingStarted.html#tutorial)或者因为我在使用llvm-3.0时选择了2.8版本?
答案 0 :(得分:5)
您应该使用与正在构建传递的LLVM版本相同的opt
版本。