一.Gflag使用教程
声明,本文基于ubuntu16.04系统,Clion开发工具,Cmake项目管理
gflag是什么?
gflags是google的一个开源的处理命令行参数的库,使用c++开发,具备python接口,可以替代getopt。
gflags使用起来比getopt方便,但是不支持参数的简写(例如getopt支持–list缩写成-l,gflags不支持)。
1.安装编译gflag
1.1 在系统中安装
git clone https://github.com/gflags/gflags.git
cd gflags
cmake -DCMAKE_INSTALL_PREFIX=${GFLAG_ROOT} -DBUILD_SHARED_LIBS=ON //为了生成动态库,否则只会生成静态库
make
make install
1.2 在project中安装
(1)新建一个project,创建gflag-2.2.2.cmake文件 (这在我之前的博客–关于External中有讲到如何使用cmake输出第三方依赖库到项目中并使用。这样做的好处是不需要使用者在运行该项目时还需要在电脑中安装第三方库。)
include(ExternalProject)
set(GFLAG_ROOT ${CMAKE_BINARY_DIR}/3rdparty/gflag-2.2.2)
set(GFLAG_LIB_DIR ${GFLAG_ROOT}/lib)
set(GFLAG_INCLUDE_DIR ${GFLAG_ROOT}/include)
set(GFLAG_URL https://github.com/gflags/gflags/archive/v2.2.2.zip)
set(GFLAG_CONFIGURE cd ${GFLAG_ROOT}/src/gflag-2.2.2 && cmake -DCMAKE_INSTALL_PREFIX=${GFLAG_ROOT} -DBUILD_SHARED_LIBS=ON)
set(GFLAG_MAKE cd ${GFLAG_ROOT}/src/gflag-2.2.2 && make)
set(GFLAG_INSTALL cd ${GFLAG_ROOT}/src/gflag-2.2.2 && make install)
ExternalProject_Add(gflag-2.2.2
URL ${GFLAG_URL}
DOWNLOAD_NAME gflag-2.2.2.zip
PREFIX ${GFLAG_ROOT}
CONFIGURE_COMMAND ${GFLAG_CONFIGURE}
BUILD_COMMAND ${GFLAG_MAKE}
INSTALL_COMMAND