解决cmake的时候json;json-c not found

转载 2017年06月04日 12:09:20

转自:http://blog.csdn.net/u013393502/article/details/49226531


zmap的安装可以到官方网站https://www.zmap.io/去看看,点击download,提供了两种安装方式。


软件包方式安装:

1.通过apt-get install zmap或yum install zmap安装软件包的方式直接安装。

如果通过apt-get或yum无法安装的话,官方还提供了源码安装的形式。


源码方式安装:

2.在download页面下载zmap-2.1.0.tar.gz,下载完成后解压文件。

进入zmap-2.1.0目录。

根据官网提示安装这些个库文件及工具sudo apt-get install build-essential cmake libgmp3-dev libpcap-dev gengetopt byacc flex 

输入命令cmake -DENABLE_HARDENING=ON,这个时候问题来了。


错误提示:说你使用的cmake的版本低,要在2.8.12或更高的版本。

“cmake -DENABLE_HARDENING=ONCMake Error at CMakeLists.txt:1

(cmake_minimum_required): CMake 2.8.12 or higher is required. You are running version 2.8.9”


在我的CSDN资源内有2.8.12的cmake,欢迎大家下载。


cmake源码安装:

解压下载的cmake文件:tar -xvf cmake-2.8.12.2.tar.gz

进入解压目录安装:1、cd cmake-2.8.12.2 

                                    2、./configure

                                    3、make

                                    4、make install

继续输入命令安装“cmake -DENABLE_HARDENING=ON”


此时令人心情愉悦的时刻来了!!!恭喜你,如你所看到的,报错又来啦,安装这个工具的时候非常的蛋疼!

“The C compiler identification is GNU 4.7.2-- Check for working C compiler: /usr/bin/cc-- Check for working C compiler: /usr/bin/cc -- works-- Detecting C compiler ABI info-- Detecting C compiler ABI info - done-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26") -- checking for module 'json-c'-- package 'json-c' not foundCMake Error at CMakeLists.txt:71 (message): Did not find libjson”


提示:找不到json-c这个模块


根据提示我们来安装下这个json-c


在zmap的目录下输入命令“git clone https://github.com/json-c/json-c.git”获取json-c


完成后会在zmap目录下会有个json-c的这个目录。

1.cd json-c

2.执行./autogen.sh这个脚本文件。错误提示:autoreconf: not found


解决方法:安装apt-get install autoconf automake libtool工具。


重新继续输入命令安装“cmake -DENABLE_HARDENING=ON”


这回该哭了吧!!!


错误提示:/conf/blacklist.conf找不到。


-- Install configuration: ""CMake Error at InstallConfFiles.cmake:2 (file): file COPY cannot find "/conf/blacklist.conf".Call Stack (most recent call first): cmake_install.cmake:36 (INCLUDE)make: *** [install]


在网络上找到了相应方法:

编结InstallConfFiles.cmake文件“vim InstallConfFiles.cmake”将原有文件代码替换如下:

if(NOT EXISTS "/etc/zmap/blacklist.conf") 

     file(COPY "./conf/blacklist.conf" DESTINATION "${CONFIG_DESTINATION}/blacklist.conf")

endif()

if(NOT EXISTS "/etc/zmap/zmap.conf") 

    file(COPY "./conf/zmap.conf" DESTINATION "${CONFIG_DESTINATION}/zmap.conf")

endif()

注意:文件格式排版要与原格式一致!


重新继续输入命令安装“cmake -DENABLE_HARDENING=ON”


这回终于搞定啦!!!真心的不容易!

但是小老弟在输入“zmap”试运行的时候,又再次的让我欲哭无泪:

无法加载libjson-c.so.3这个文件,使用“whereis libjson-c.so.3”查看发现文件是确实存在的。

那么就将libjson-c.so.3这个文件的路径添加到“/etc/ld.so.conf”文件内(另起一行)。

输入“/sbin/ldconfig -v”重新加载下文件.

再次输入“zmap”,搞定!!!安装这个工具玩玩,真的是好心酸啊!!!


JSON C库的使用

这里提取了常用的函数做介绍: 需要详细了解的想参阅json_object.h,版本信息:  * Copyright (c) 2004, 2005 Metaparadigm Pte. Ltd.  * M...
  • cuishumao
  • cuishumao
  • 2013年08月22日 20:39
  • 6776

【json】json-c接口

json、json-c、jsoncpp是3套不同的代码,其中的函数接口也大不一样,其中jsoncpp针对c++语言编写的。json-c比json要复杂一些,处理、容错能力稍强一些。json-c的api...
  • u012819339
  • u012819339
  • 2016年06月22日 13:05
  • 1545

json c 码编译安装

http://blog.csdn.net/dsg333/article/details/9260651
  • bytxl
  • bytxl
  • 2014年04月15日 17:13
  • 1067

JSON的C语言编解码器——cJSON和json-c

JSON是一种比XML更轻量级的数据交换格式,关于JSON的基础知识,参考 JSON http://www.json.org/json-zh.html 看看你使用的语言中是否已有JSON支持,也参考...
  • B_H_L
  • B_H_L
  • 2014年03月21日 14:49
  • 10461

json c库的移植和使用

1、json对象有几种类型        与常见的int ,char,double,boolean相对应。     2、json 有自己的数据类型  对于普通数据类型:int ,char,double...
  • virlhs
  • virlhs
  • 2013年08月28日 14:32
  • 4023

json-c 0.12 使用介绍

常用函数: 1、json结构体初始化 struct json_object* json_object_new_object()  2、向json结构体中添加key-value对 ...
  • mengyafei43
  • mengyafei43
  • 2014年08月07日 11:42
  • 2304

解决Windows下Pixhawk(PX4)编译提示没有cmake的问题

进行Pixhawk的开发好久了,最早的时候使用的是Windows,各种问题,后来转到Ubuntu下进行开发,十分顺利。 最近需要找工作,Ubuntu开发环境使用起来多有不便,还是需要使用Windows...
  • whyscience
  • whyscience
  • 2016年09月03日 17:23
  • 2581

利用JSONC库遍历求出JSON数组的元素值

之前做项目,要求先解析出XML文件,并生成JSON格式字符串,这个做到了。但是后来又要求将JSON字符串转换为XML文件,由于在研究所里不能上网,查阅不到资料,自己也没有时间去阅读库函数。今天回来上网...
  • oceanperfect
  • oceanperfect
  • 2015年01月23日 16:38
  • 2010

json-c的树型封装(json-tree)

arvik以前运用json-c库的时候对json-c库做了一下封装,以简化json取值/设置过程。由于json-c在取值的时候必须层层获取对象,当一个json对象中嵌套许多json对象的时候,取值就变...
  • u012819339
  • u012819339
  • 2016年10月31日 14:07
  • 913

c语言libjson库一些api和内存管理

1. json_object_get与json_object_put函数 struct json_object* json_object_get(struct json_object *jso);...
  • zgrjkflmkyc
  • zgrjkflmkyc
  • 2016年07月26日 20:34
  • 1414
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:解决cmake的时候json;json-c not found
举报原因:
原因补充:

(最多只允许输入30个字)