ubuntu环境下运行 **
sudo apt-get install flex bison
**即可安装flex和bison,参考网站。为了配置Tinycompiler,需要用vi修改Makefile,将llvm-config-3.9.0修改为llvm-config
需要安装json链接库
sudo apt-get install libjsoncpp-dev
,并且做链接sudo ln -s /usr/include/jsoncpp/json/ /usr/include/json
执行命令
make
。缺少链接库,-lncureses,-lz,解决之后接续make,发生步骤5的问题。
google发现C++
没有开启RTTI
,没有开启RTTI
- 这一步没有开启RTTI指的是LLVM在构建的时候,没有开启RTTI,google到的前面的几个搜索结果是关于编译器g++是否开启RTTI,但是g++都是默认开启RTTI的,所以不要在编译器是否开启RTTI纠结过多。
- llvm需要重新安装,先是删除掉~/LLVM文件夹,然后用 在build文件夹下
cmake .. -DLLVM_REQUIRES_RTTI=ON -DCMAKE_BUILD_TYPE=Release
构建。 - 重新安装后可以看到已经有了RTTI。
继续执行make,有如下错误
In function
llvm::InitializeAllTargetMCs()’`:后面有一点找不见了,反正意思就是这个函数有问题,我找到这个函数的源文件ObjGen.cpp,在里面显示的几个函数里面加上命名空间llvm::,之后就成功了。然后用make test即可生成测试程序。
欢迎在评论区中进行批评指正,转载请注明来源,如涉及侵权,请联系作者删除。