在Arduino IDE上导入库时出错

时间:2014-11-13 15:23:56

标签: c++ json namespaces arduino arduino-ide

我正在使用Arduino UNO,我需要解析一个JSON文件,考虑到微控制器只有2k的SRAM,这个文件可能会很大。我发现这个库(stream_json_reader)可以通过char处理文件char,看起来适合我的porpuses。问题是我无法想象如何在Arduino IDE中正确导入它。到目前为止,我的Documents/Arduino/libraries文件夹包含stream_json_readerstringutils(可用here)。我已将stream_json_reader.h文件修改为指向cstringutils.h#include "C:/Users/MY_NAME/Documents/Arduino/libraries/stringutils/cstringutils.h")。

我的代码类似于:

#include "stream_json_reader.h"
#include "stringutils.h"

#include <SPI.h>
#include <Ethernet.h>

using namespace lasote;

static const char* queries[] = { "response.current_observation.city", "response.current_observation.temp_c"};
StreamJsonReader jsonreader(queries, 2);

[...]

void setup() {
    // Retrieving JSON file
    [...]
}

void loop()
{
    [...]
    jsonreader.process_char(c);
    [...]
    Serial.println(jsonreader.results[0]);
    Serial.println(jsonreader.results[1]);
}

但我明白了:...stringutils/stringutils.h:18: error: expected initializer before '<' token

我对Arduino和C ++几乎没有经验。如果问题出在某些#include或我错放了库文件,我不会这样做。

提前谢谢。

1 个答案:

答案 0 :(得分:4)

免责声明:我在biicode工作。

这是一个准备好与biicode一起使用的库,如this blogpost所述。 Biicode是一个C和C ++依赖管理器,它有一个中央在线存储库,并且兼容con VCS。

要使用该库,而不是:#include "stream_json_reader.h"

使用:#include "lasote/stream_json_reader/stream_json_reader.h"

然后执行bii findbii arduino:build或`bii arduino:upload``to

这是关于biicode和Arduino的入门指南:

http://docs.biicode.com/arduino/gettingstarted.html

biicode中提供的Json相关库:http://www.biicode.com/search?q=json