在旧的开源项目中错误地构建boost spirit代码

error building boost spirit code with in an old open sourced project

本文关键字:构建 boost spirit 代码 错误 开源 项目      更新时间:2023-10-16

我正在我的linux机器上构建一个旧版本的voldb,并且我一直遇到boost spirit库的问题。这可能是一个gcc版本的问题,欢迎任何想法…

<>之前[exec] ../../third_party/cpp/json_spirit/json_spirit_reader.cpp:63:32: error: template参数1无效const int_parser int64_p = int_parser ();(执行 ] ^[exec] ./../third_party/cpp/json_spirit/json_spirit_reader.cpp:63:44:错误:'='令牌前的声明类型无效const int_parser int64_p = int_parser ();(执行 ] ^[exec] ../../third_party/cpp/json_spirit/json_spirit_reader.cpp:63:68: error: emplate argument 1无效const int_parser int64_p = int_parser ();(执行 ] ^[exec] ./../third_party/cpp/json_spirit/json_spirit_reader.cpp:302:23:错误:对'int64_t'的引用不明确[exec] void new_int(int64_t)(执行 ] ^[exec]从/usr/include/stdlib.h:314:0[exec] from/usr/include/c++/4.8/cstdlib[exec] from…/…/third_party/cpp/boost/config/platform/linux.hpp:14,[exec] from…/…/third_party/cpp/boost/config.hpp:53,[exec] from ./../third_party/cpp/json_spirit/json_spirit_value.h:17,[exec] from ./../third_party/cpp/json_spirit/json_spirit_reader.h:13,[exec] from ./../third_party/cpp/json_spirit/json_spirit_reader.cpp:6:[exec]/usr/include/x86_64-linux-gnu/sys/types.h:197:1:注:候选类型为:typedef long int int64_t .h[exec] __intN_t (64, __DI__);[执行]^[exec] ./../third_party/cpp/json_spirit/json_spirit_value.h:18:0,[exec] from ./../third_party/cpp/json_spirit/json_spirit_reader.h:13,[exec] from ./../third_party/cpp/json_spirit/json_spirit_reader.cpp:6:[exec] ../../third_party/cpp/boost/cstint .hpp:301:50:注:typedef boost::long_long_type boost::int64_t . exe[exec] typepedef::boost::long_long_type int64_t;(执行 ] ^[exec] ./../third_party/cpp/json_spirit/json_spirit_reader.cpp:302:23: error: 'int64_t'未被声明[exec] void new_int(int64_t)(执行 ] ^[exec] ./../third_party/cpp/json_spirit/json_spirit_reader.cpp:在构造函数'{anonymous}::Json_grammer::definition::definition(const {anonymous}::Json_grammer&)'中:[exec] ../../third_party/cpp/json_spirit/json_spirit_reader.cpp:455:49: error:构造函数调用不能出现在常量表达式中[exec] typedef function Int_action;(执行 ] ^[exec] ../../third_party/cpp/json_spirit/json_spirit_reader.cpp:455:64: error:模板参数1无效[exec] typedef function Int_action;(执行 ] ^[exec] ../../third_party/cpp/json_spirit/json_spirit_reader.cpp:455:76:错误:';'令牌前的声明类型无效[exec] typedef function Int_action;(执行 ] ^[exec] ./../third_party/cpp/json_spirit/json_spirit_reader.cpp:527:49:错误:数组下标的const int[Int_action {aka int}]类型无效[exec] | int64_p [new_int](执行 ] ^

我仍然不确定确切的问题是什么,但是在玩了gcc版本之后无济于事,我更新了我的third_party库到我知道它可以工作的gcc版本。

基本上将JSON_SPIRIT库从4.02更新到它的最后一个版本,我知道它与编译器一起工作,我现在使用