在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
目前还没有发现是什么原因。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。