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 目前还没有发现是什么原因。(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |