小编ppa*_*las的帖子

使用rapidjson在JSON字符串中检索嵌套对象

我需要在JSON字符串中检索嵌套对象,我正在尝试使用rapidjson.我发现的只是如何检索数组和基本类型,而不是子对象.我创建了以下玩具示例,它给出了一个错误:

rapidjson::Document document;
std::string test =  " { \"a\": { \"z\" : 21 } } ";
std::cout << test << std::endl;
if ( document.Parse<0>( test.c_str() ).HasParseError() ) {
    std::cout << "Parsing error" << std::endl;
} else {
    if ( document[ "a" ].IsObject() ) {
        std::cout << "OK" << std::endl;
        std::cout << document[ "a" ].GetString() << std::endl;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是执行时的输出:

{ "a": { "z" : 21 } } 
OK
JSONTest: ../rapidjson/document.h:441: const typename Encoding::Ch* rapidjson::GenericValue<Encoding, Allocator>::GetString() const [with Encoding = rapidjson::UTF8<char>, …
Run Code Online (Sandbox Code Playgroud)

c++ json rapidjson

14
推荐指数
1
解决办法
3万
查看次数

如何为C++创建EDE项目

我一直在尝试为C++设置一个EDE项目(emacs24 +内置CEDET),我开始变得绝望,因为我似乎无法找到我希望生成makefile的方式.我对Emacs比较陌生.我会试着描述一下我在做什么:

我有一个像这样的玩具项目:

main.cpp
other/
  Utils.cpp 
  Utils.h
  CGrabBuffer.cpp
  CGrabBuffer.h
Run Code Online (Sandbox Code Playgroud)

main.cpp在"other /"目录中包含.h's.以下是使用此简单目录设置设置EDE项目的步骤:

  • 在emacs中打开main.cpp并执行M-x ede-new; 类型:Make; 姓名:main-proj.
  • 打开"其他"目录中的一个文件并执行M-x ede-new; 类型:Make; 姓名:aux-proj.
  • 现在是时候创建目标了(我相信在这种情况下是三个):
    • 在main.cpp缓冲区:M-x ede-new-target; 名称:main; 类型:program.出现提示时,我将main.cpp添加到此目标.
    • 我对其他两个目标(Utils具有Utils.cpp和Utils.h以及具有CGrabBuffer.cpp和CGrabBuffer.h的CGrabBuffer)重复相同的操作.在这里,我发现了第一个问题.这两个目标必须是什么类型的?我只希望他们生成.o文件.
  • 完成后,我输入M-x ede-customize-current-target所有三个目标,然后添加一些包含路径,一些库等.
  • 在此之后,如果我调用M-x ede-compile-project它不会编译,因为:
    • 它首先尝试编译main.cpp; 在尝试构建main.cpp之前,我不知道如何指定(使用EDE)Utils.o和CGrabBuffer.o都需要.
    • 如果我手动更改顺序(编辑Makefile),它无法链接main.cpp,因为它找不到Utils.o和CGrabBuffer.o.

正如你所看到的,我正处于一团糟之中.也许我甚至不理解EDE中"目标"的含义.我还读到了ede-cpp-root-project的存在,它必须在.emacs文件中指定.我没有尝试过,因为我认为它只是帮助语义.它不会生成Makefile,是吗?我是否可以(或者我需要)使用Project.el构建的EDE项目和使用ede-cpp-root-project进行语义相同的事情?还是多余的?

抱歉,如果我误解了很多东西,但我很困惑,对emacs不熟悉会让事情变得更糟.谢谢你的耐心!

编辑:通过一些修补和我收到的回复,我已经能够找出很多东西,所以非常感谢.我还不明白的是使用ede-cpp-root-project,它必须在.emacs文件中指定.它只是用于c ++语义吗?使用Project.el的项目和.emacs中的elisp行是否是多余的?

c++ emacs cedet emacs-semantic

7
推荐指数
1
解决办法
4488
查看次数

OpenCV加载/保存直方图数据

有没有办法将OpenCv图像直方图存储到磁盘,以便可以直接加载,而不必强制再次加载图像并从中计算直方图?

谢谢.

c++ opencv image histogram

4
推荐指数
1
解决办法
4085
查看次数

标签 统计

c++ ×3

cedet ×1

emacs ×1

emacs-semantic ×1

histogram ×1

image ×1

json ×1

opencv ×1

rapidjson ×1