官方demo
按照官网首页配置好,测试能够使用antlr4和grun命令之后:
- 下载https://github.com/antlr/antlr4/tree/master/runtime/Cpp中的所有文件
- 运行generate命令(在https://github.com/antlr/antlr4/tree/master/runtime/Cpp/demo/目录下,执行
antlr4 -Dlanguage=Cpp -listener -visitor -o generated/ -package antlrcpptest TLexer.g4 TParser.g4
- 用VS打开其中的sln项目(https://github.com/antlr/antlr4/blob/master/runtime/Cpp/demo/Windows/antlr4cpp-vs2015.sln,注意vs2013及以上的版本才行,因为这样的版本才有完整的C++11支持
- 设置
antlr4cpp-demo
为启动项目,启动即可在【调试】输出中(不是控制台那个黑框)看到输出的示例
创建自己的项目
如果要自己创建antlr4的项目,在刚才几步能正常执行之后,在【这个刚刚打开的解决方案里面】创建自己的项目:
注意选择【添加到解决方案】。
修改以下属性:
- 【新建的项目】里【引用】右键【添加引用】,选上antlr4cpp-vs2015
- 【源文件】-右键【添加】-【现有项】,选中上面几级目录的demo\generated文件夹下所有h、cpp文件
- 新建一个main.cpp,里面复制过来
antlr4cpp-demo
的main.cpp - 在【新建的项目】上右键【属性】打开属性页面(这时,单击
antlr4cpp-demo
这个项目会切换到这个项目的对应属性,可以直接方便地复制粘贴),把antlr4cpp-demo
的以下属性复制过来:- 复制【输出目录】
- 修改【字符集】为Unicode
- 复制【C/C++】-【常规】-【附加包含目录】
- 右上角【配置管理器】-找到这个项目后【编辑】,重命名为Debug DLL
- 运行&改编码(选择是,因为之前把字符集改成了Unicode)
之后就可以运行了!
LIB
LIB介绍:
LIB生成&使用:https://www.cnblogs.com/TenosDoIt/p/3203137.html
LIB创建
用桌面向导创建一个空的LIB
弹出的应用程序类型选择.lib
新建MyLIB.h
1 |
|
MyLIB.cpp
1 |
|
之后设置为启动项目,生成就可以得到lib文件:
【输出】-【生成】可以看到目录
LIB使用-引用
使用:新建空项目,添加引用,创建一个头文件把之前头文件的东西复制进来
新建一个main.cpp
1 |
|
LIB使用-复制LIB文件
找到lib文件,复制到main.cpp目录下,复制头文件过来,复制#pragma comment(lib, "lib.lib")
到main.cpp文件中main函数上面即可。
ANTLR的lib生成
antlr4cpp-antlr2015这个项目属性里面改成配置类型-静态库,生成后复制得到的lib文件到自己的项目目录下。
复制antlr4-runtime.h
等所有头文件到自己的项目目录下。