admin管理员组文章数量:1635843
交叉编译c++的json处理库jsonbox
对于json格式的数据大家应该最熟悉不过了,在写c++程序的时候遇到json数据的解析如果你是大神可以自己手撸一个解析库,大部分时候我选择第三方库,jsoncpp,jsonbox都是不错的选择,这里我选择jsonbox进行移植,需要注意的一点是jsonbox不支持long型数据解析,使用getInteger()会导致数据溢出,而高版本的jsoncpp可以用asLong()获取long型数据。
1.下载源码
https://github/anhero/JsonBox
2.交叉编译
先安装cmake:sudo apt-get install cmake-qt-gui
1)配置好源码和安装路径并设置好交叉编译器路径
cmake设置交叉编译器不会的同学看这里:https://blog.csdn/haohaohaihuai/article/details/103687671
按照默认的cmake配置生成的.a静态库,这里需要生成动态库,修改CMakeLists.txt为add_library(JsonBox SHARED ${JSONBOX_SOURCES} ${JSONBOX_HEADERS})
编译以后出现错误==“TARGETS given no LIBRARY DESTINATION for shared library target”==
从字面意思看是没用指定共享库的目标路径,打开CMakeLists.txt发现有一项为install,添加LIBRARY DESTINATION "lib"到install项,保存。
2)重新make,这回编译通过了
3.安装
make install
在指定的安装目录下成功生成了libJsonbox.so
作者:费码程序猿
欢迎技术交流:QQ:255895056
转载请注明出处
本文标签: 错误quotTARGETSjsonboxCMAKE
版权声明:本文标题:cmake编译jsonbox错误"TARGETS given no LIBRARY DESTINATION for shared library target" 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/xitong/1729215317a1190362.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论