JsonCPP在linux下的一个奇怪的问题

前端之家收集整理的这篇文章主要介绍了JsonCPP在linux下的一个奇怪的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

在linux上完成了对jsoncpp的编译,产生了.a和.so的库。

原本以为可以直接将json目录下的几个.h文件和lib目录下的库文件加入到工程即可,但事实证明是错误的,编译时报莫名错误如下:

-------------- 构建: Debug inWalkEngineServer ---------------

正在编译: WalkEngineServer.cpp

在包含自 /usr/include/libio.h:62 的文件中,

从/usr/include/stdio.h:75,

从/data/develop/WalkEngineServer/WalkEngineServer.cpp:1:

/usr/include/sys/cdefs.h:46:44: 错误:标识符“(”前缺少二元运算符

/usr/include/sys/cdefs.h:50:44: 错误:标识符“(”前缺少二元运算符

/usr/include/sys/cdefs.h:135:19: 错误:标识符“(”前缺少二元运算符

/usr/include/sys/cdefs.h:151:19: 错误:标识符“(”前缺少二元运算符

/usr/include/sys/cdefs.h:209:19: 错误:标识符“(”前缺少二元运算符

/usr/include/sys/cdefs.h:218:19: 错误:标识符“(”前缺少二元运算符

/usr/include/sys/cdefs.h:227:19: 错误:标识符“(”前缺少二元运算符

(…….)

后发现需要保留 include/json这种目录结构,否则就报错。

于是,可以根据自己的需要,将include和lib放在任何位置。

但在编译是引入,必须是到 include这级目录,不能到内部的json目录。

比如:

TestJson : testJsonCpp.cpp

g++-o TestJson testJsonCpp.cpp -I /home/jsoncpp/include \

-lpq/home/jsoncpp/lib/libjson_linux-gcc-4.4.5_libmt.a

目前还没有发现是什么原因。

猜你在找的Json相关文章