bnfparser2-0.2.0 版本在windows的VS2013上面编译

编译完了 https://blog.csdn.net/ljt350740378/article/details/95072188 后,我们来编译 bnfparser2-0.2.0。

bnfparser2-0.2.0 官网: https://sourceforge.net/projects/bnfparser2/

后来发现 bnfparser2-0.2.0 依赖 pcre,于是去下载,刚开始下载的是pcre2-10.33,网上也有相应的VS2013的版本,结果一直报链接错误,报链接错误,一般指的是没有实现,于是,查找各种原因,查看源码等,发现bnfparser2-0.2.0使用的是pcre-8.43-1(因为bnfparser2依赖的头文件,只有pcre-8.43版本才有H+CPP的实现,不然报链接错误),于是又下载pcre-8.43,从ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/ 地址下载。

1.编译 pcre-8.43

解压安装包,然后用NON-AUTOTOOLS-BUILD的说法,用cmake来编译。然后把下面图的文件COPY下来。这些文件是我们需要的VS2013需要用的文件。

新建工程:ConsoleApplication_pcre1_lib,可以建立 成EXE的,然后需要的话,再整改成LIB的。把刚刚cmake生成的新的文件和源代码全部COPY到这个工程中。如图所示:

修改字符集为空,然后引入目录文件夹:./sljit ,注意如果是64位的话,需要目标计算机为64的 MachineX64 (/MACHINE:X64)位,不然会引起冲突。预处理器的定义如下:WIN32;_DEBUG;_CONSOLE;_LIB;SUPPORT_UTF;SUPPORT_PCRE8;%(PreprocessorDefinitions);PCRE_STATIC;PCRE2_STATIC;PCRE2_CODE_UNIT_WIDTH=8;HAVE_CONFIG_H;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;--enable-utf8;。OK,然后把一些测试文件里的main给屏蔽,或者把有main的这些测试文件给排除编译。然后编译,生成成功。下面来编译bnfParser2.

目前我把 config.h 中的

 #define SUPPORT_LIBBZ2 1 
/* #undef SUPPORT_LIBEDIT */
/* #undef SUPPORT_LIBREADLINE */
#define SUPPORT_LIBZ 1  - 给做了适当的屏蔽,因为有些功能和模块用不到,所以做了更改在配置中。

编译bnfParser2

将pcre-8.43放在bnfParser2子目录下,然后预编译器为:WIN32;_DEBUG;_CONSOLE;_LIB;SUPPORT_UTF;SUPPORT_PCRE8;%(PreprocessorDefinitions);PCRE_STATIC;PCRE2_STATIC;PCRE2_CODE_UNIT_WIDTH=8;HAVE_CONFIG_H;_CRT_SECURE_NO_DEPRECATE;_CRT_SECURE_NO_WARNINGS;--enable-utf8;,编译,成功。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值