• leveldb之安装到系统目录脚本


    leveldb自带的Makefile中居然没有install

    那我自己写一个脚本得了:

    #!/bin/bash


    checkRoot(){
    if [ ! $(id -u) = 0 ];then
    echo "need be root!,your id -u is :$(id -u)"
    exit;
    fi
    }

    PREFIX=/usr
    INCLUDE=$PREFIX/include
    LIB=$PREFIX/lib
    help(){
    echo "$0 install|uninstall"
    }
    check(){
    #verify
    ls $INCLUDE/leveldb
    ls -l $LIB/libleveldb.a $LIB/libmemenv.a
    }
    myinstall(){
    checkRoot
    cp libleveldb.a $LIB/libleveldb.a
    cp libmemenv.a $LIB/libmemenv.a
    cp -R include/leveldb $INCLUDE/leveldb
    check
    }
    myuninstall(){
    checkRoot
    if [ -d $INCLUDE/leveldb ] ;then
    rm -R $INCLUDE/leveldb
    fi;
    if [ -f $LIB/libleveldb.a ] ;then
    rm $LIB/libleveldb.a
    rm $LIB/libmemenv.a
    fi;
    }
    if [ ! -z $1 ];then
    if [ $1 = "-h" -o $1 = "-?" ];then
    help
    exit 0
    fi
    if [ $1 = "install" ];then
    myinstall
    echo "Install done..."
    exit
    fi;
    if [ $1 = "uninstall" ] ;then
    myuninstall
    echo "Uninstall done..."
    exit
    fi;
    if [ $1 = "check" ];then
    check
    exit;
    fi;
    fi;

    help

    其实还可以添加 --prefix参数 指定自己的位置。很简单的脚本

    运行脚本的方法:首先make ,生成libleveldb.a和libmemenv.a的时候就可以运行此脚本了!

    将此脚本保存为文件,比如命名为 install.sh

    然后命令行下输入 chmod +x ./install.sh
     输入./install.sh 显示基本信息

    sudo ./install.sh install #安装leveldb到系统目录/usr/lib和/usr/include中

    sudo ./install.sh uninstall # 从系统目录中删除 /usr/lib 和/usr/include  的leveldb的.a 和头文件。

    ./install.sh check 可以查看是否在系统目录中有这些文件,并打印出来。

    使用leveldb的方法就是 你编写的leveldbtest.cpp 后,里面直接使用头文件即可,编译用:

    g++  leveldbtest.cpp -o leveldbtest.out -lleveldb -I/usr/include/leveldb -L/usr/lib -lpthread

    如果你编译安装了 snappy的话 还要加上 -lsnappy -I/usr/loca/include -L/usr/local/lib ,这个是一个和数据库压缩相关的东西。。

    leveldb还支持 google的perfecttools,具体有什么用,我还真不太清楚,好像是优化了malloc 的东西。这两个具体有什么神奇的效果,以及性能测试怎么样,得使用后测试才知道。现在可以先不适用这两个库。

    转载请注明出处:http://www.cnblogs.com/ayanmw 多谢

    ------------------------------------------------------------------------------------------------

    一定要专业!本博客定位于 ,C语言,C++语言,Java语言,Android开发和少量的Web开发,之前是做Web开发的,其实就是ASP维护,发现EasyASP这个好框架,对前端后端数据库 都很感觉亲切啊。. linux,总之后台开发多一点。以后也愿意学习 cocos2d-x 游戏客户端的开发。

  • 相关阅读:
    等式
    Lemon 评测软件用法
    同花顺
    浅谈二分图的最大匹配和二分图的KM算法
    LCT总结
    5.30模拟赛
    树上斜率优化
    5.22 noip模拟赛
    KMP,HASH,Trie,AC自动机
    splay总结
  • 原文地址:https://www.cnblogs.com/ayanmw/p/2400776.html
Copyright © 2020-2023  润新知