<转>c++ builder JSONCPP 注意事项 XE2 解决编译问题 _Mfl

在C++Builder中使用JSONCPP需要注意的问题 1、使用STL的MAP而不是内建的MAP这个问题实际上和编译器无关。内建的MAP不是很稳定,当解析数据大于600K左右时,会崩溃。虽然一般来说JSON的数据大不到哪里去,但不代表数据量小时稳定性就不没有问题,只可能是发生的概率小一些。所以还是使用内建的MAP好一些,测试几兆的数据都没有问题。使用STL MAP的方法是编译时不要定义JSON_VALUE_USE_INTERNAL_MAP变量。2、要在2007中编译通过,需要修改一点代码。之所以会有第一个问题,就是因为直接编译时通不过,又不知道原因在哪里,所以尝试了使用内建的MAP才得以通过。但因为存在问题一,所以只好又回头来解决这个问题了。需要修改的地方:value.h文件中,大概873行的地方:把原来的#ifndef JSON_VALUE_USE_INTERNAL_MAP   explicit ValueIteratorBase( const Value::ObjectValues::iterator &current );修改为:#ifndef JSON_VALUE_USE_INTERNAL_MAP   explicit ValueIteratorBase( const std::map<Value::CZString, Value>::iterator &current ); 如果不换成这种笨一点的办法,而是直接象原来那样使用typename,编译器总会报:“[BCC32 Error] map(30): E2089 Identifier ‘_Mfl’ cannot have a type qualifier”错误。当然不是STL map的错。使用排除法找到这个问题,使用死马当做活马医的办法找到解决方案:)颇费一番周折。 另外,JSONCPP开源工程有一段时间没有更新了,不知还会不会长久的维护完善下去。但鉴于JSON.org上推荐的另两个C++实现方案都依赖boost库,只好先暂时用这个实现。实际上JSONCPP的实现还是蛮不错的,数据的解析、生成都是挺方便的。从一些未完成的接口上看(比如PATH相关的),作者也有一些好的想法,只是未来得及实现。 JSONCPP的网站:

<转>c++ builder JSONCPP 注意事项 XE2 解决编译问题 _Mfl,布布扣,bubuko.com

时间: 2024-12-19 13:17:07

<转>c++ builder JSONCPP 注意事项 XE2 解决编译问题 _Mfl的相关文章

移动端网页布局中需要注意事项以及解决方法总结

移动端网页布局中需要注意事项以及解决方法总结,这份对我们在布局移动端网页的时候非常有用! winphone系统a.input标签被点击时产生的半透明灰色背景怎么去掉<meta name="msapplication-tap-highlight" content="no">1.关闭iOS键盘首字母自动大写<input type="text" autocapitalize="off" />2.禁止文本缩放h

linux0.12 解决编译问题常用命令

解决编译问题时,经常需要修改所有的Makefile,特别定义了下面几条命令方便修改. 1 function msed() { 2 find -name "Makefile" -exec sed -i "s/$1/$2/g" {} \; 3 } 4 5 function mgrep() { 6 find -name "Makefile" | xargs grep $1 7 } msed 用来修改替换所有的Makefile, mgrep用来查找或验证

MAC OSX 中解决编译“&#39;cc&#39; failed with exit status 1”错误 和clang: error: unknown argument 错误

错误例子: error: command 'cc' failed with exit status 1 clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the fu

解决编译GCC内存不足的错误

近期在使用阿里和腾讯的云服务器,由于只是测试用所以只租用了廉价512的内存,在编译gcc时遇到错误,表面上看只是编译错误,并且原因不明,纠结了几次之后猜测应该是由于系统资源不足导致的,所以尝试增加系统的swap分区,这里需要检查两个地方 一.修改swappiness 1.查看你的系统里面的swappiness$ cat /proc/sys/vm/swappiness不出意外的话,你应该看到是 60,在阿里云看到的可能是0,那么就需要修改2.修改swappiness值$ sudo sysctl v

解决编译错误 implicit declaration of function &#39;strptime&#39;

根据man手册,在文件中加上以下定义,应该可以去处该warning #define _XOPEN_SOURCE /* glibc2 needs this */ #include 但不起作用(重新编译还是有该warning) 加上编译选项-D_XOPEN_SOURCE又出现一大推其他编译错误 最后在找到这篇帖子 http://stackoverflow.com/questions/15334558/compiler-gets-warnings-when-using-strptime-functio

Python之pip安装、注意事项及解决办法

Pip 是对easy_install的取代,提供了和easy_install相同的查找包的功能,因此可以使用easy_install安装的包也同样可以使用pip进行安装 使用Python时需要安装pip但是在安装的过程中会出现很多的错误,但是这些都是使用终端命令来进行操作的,所以下面列出本人在安装过程中出现的问题及解决办法,有不足之处希望各位多提出,在此谢过哦! 下面开始安装: 1.在终端输入命令: easy_install pip 当出现错误1时,在终端输入(使用管理员执行): sudo ea

ios开源类库工具Cocoapods使用注意事项-错误解决办法

在使用Cocoapods时,如果我们没有正确的使用的话,会产生一些问题或者错误 如何解决?本文来介绍一下: 1.为工程添加框架,在上一篇文章中说明了如何安装和简单的使用AFNetworking框架 但是现在我想添加一下其他的框架,比如MBProgressHUD,如何做? 首先,进入工程的根目录下,查找MBProgressHUD... 执行命令: pod search mbpro 会搜索到匹配的框架: -> MBProgressHUD (0.9.1) An iOS activity indicat

移动端布局注意事项及解决

1.winphone系统a.input标签被点击时产生的半透明灰色背景怎么去掉 <meta name="msapplication-tap-highlight" content="no"> 1.关闭iOS键盘首字母自动大写 <input type="text" autocapitalize="off" /> 2.禁止文本缩放 html {-webkit-text-size-adjust: 100%;}

解决编译apache出现的问题:configure: error: APR not found . Please read the documentation

今日编译apache时出错: #./configure --prefix……检查编辑环境时出现: checking for APR... no configure: error: APR not found .  Please read the documentation 解决办法: 1.下载所需软件包: apr以及apr-util官网 http://apr.apache.org/download.cgi wget http://apache.fayea.com//apr/apr-1.5.2.t