记录下 protobuf-c 安装过程中的问题。

  1) 安装的时候没细看依赖。
    --  protobuf-c requires a C compiler, a C++ compiler, protobuf, and pkg-config to be installed.

  2) 安装依赖之后,报错

    configure: error: Package requirements (protobuf >= 2.6.0) were not met:
    No package 'protobuf' found
    想都没想去网上找解决方案,说导环境变量 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig 就好了,我导了之后,不可以,然后去看脚本,看了半天,$protobuf_LIBS这个变量没正确导入。后来想起来去细看错误信息(这个地方,给自己一个差评,太大意了), 错误信息很明确了,说找不到protobuf ,可以重置PKG_CONFIG_PATH,然后去搜了这个环境变量,是在 pkg-config  包管理中用的,具体的 PKG_CONFIG_PATH,指向的是 protobuf.pc 所在的路径,重置环境变量 export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig,安装OK。

  3) 记录下 pkg-config 是干吗的

    就是在写 makefile, 或者是 编译时,用了第 3 方的库,如果用了 pkg-config 来管理,编译时找头文件和库就可以把这个工作丢给 pkg-config 来做了,当前还有其它的功能,比如配置编译选项等。

    example:

      gcc sample.o -o sample `pkg-config --libs glib-2.0`   -- 编译时, pkg-config 去给你找glib-2.0 的库和头文件,不用再加 -L -l -I 这些编译选项了

     另外,pc文件可以打开看不,还是很容易明白的。

    protobuf.pc

    

prefix=/usr/local/protobuf
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include Name: Protocol Buffers
Description: Google's Data Interchange Format
Version: 3.1.0
Libs: -L${libdir} -lprotobuf -pthread -lpthread
Libs.private:
Cflags: -I${includedir} -pthread
Conflicts: protobuf-lite

  

  

protoc-c 安装记录的更多相关文章

  1. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  2. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  3. sourceinsight安装记录

    sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...

  4. openerp安装记录及postgresql数据库问题解决

    ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库    a.安装         sudo apt-get install postgresql    安装后ubu ...

  5. Matlab安装记录 - LED Control Activex控件安装

    Matlab安装记录-LED Control Activex控件安装 2013-12-01  22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...

  6. Arch Linux 安装记录

    Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...

  7. redis5.0.3单实例简单安装记录

    redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...

  8. mysql5.7安装记录

    mysql安装记录 版本5.7 windows系统 一.缺少my.ini文件 [mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#设 ...

  9. Liunx/RHEL6.5 Oracle11 安装记录

    1.创建用户组 groupadd oinstall #创建用户组oinstall groupadd dba #创建用户组dba useradd -g oinstall -g dba -m oracle ...

  10. zookeeper三节点集群安装记录

    以下是3个节点的zk安装记录. 下载 下载地址: http://mirrors.shu.edu.cn/apache/zookeeper/ cd /data/opt/zk wget http://mir ...

随机推荐

  1. js map数据结构

    Map 对象保存键值对,并且能够记住键的原始插入顺序.任何值(对象或者原始值) 都可以作为一个键或一个值.  map对象常用于保存键值对,它的键是任意数据类型,常用于建立数据的映射关系 和对象的区别: ...

  2. 用于测试XmlAnalyzer 1.00版的八个测试用例

    XmlAnalyzer 工程目的:将XML的属性和子节点按字母序排列,然后整形输出: 08. 原文=<project xmlns="http://maven.apache.org/PO ...

  3. Mysql数据库扩展

    安装跟卸载 Mysql安装 下载Mysql源安装包 1   wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.r ...

  4. PostgressQL

    环境 ubuntu18.04 docker 中 pull postgres:10 images 连接 进入容器内部 docker exec -it [mypostgres] /bin/bash 查看p ...

  5. leetcode刷题-94二叉树的中序遍历

    题目 给定一个二叉树,返回它的中序 遍历. 实现 # def __init__(self, x): # self.val = x # self.left = None # self.right = N ...

  6. PHP生成二维码 endroid/qr-code 扩展包

    目录 1. 引入 endroid/qr-code 扩展包 2. 使用示例 3. 二维码中放入logo,无法识别二维码的问题 1. 引入 endroid/qr-code 扩展包 https://pack ...

  7. Apache和分布式部署

    1.tomcat分布式部署 1.1.要配置几个tomcat,就部署几个相同程序名的tomcat 1.2.配置每个tomcat下server.xml中ajp端口,以及后面的jvmRoute,第几个就配置 ...

  8. oracle数据处理之sql*loader(一)

    SQL*Loader是oracle提供的可以从多种平面文件中向数据库中加载数据的工具,它比较适合业务分析类型数据库(数据仓库);使用sqlldr工具可以在很短的时间内向数据库中加载大量的数据,像把制作 ...

  9. end的用法——print中加end=可以不换行展示

    A=['hello','world',1,2,3]for i in A: print('正常输出i的值:',i) #打印出来的是换行展示hello world 1 2 3 print('加入sep后i ...

  10. leetcode560题解【前缀和+哈希】

    leetcode560.和为K的子数组 题目链接 算法 前缀和+哈希 时间复杂度O(n). 在解决这道题前需要先清楚,一个和为k的子数组即为一对前缀和的差值. 1.我们假设有这么一个子数组[i,j]满 ...