简介
- 在百度Apollo中gflag被广泛的应用在各种全局变量中,例如节点名,变量名,各种状态标志中。
- gflags 是google开源的一套
命令行参数解析
工具,比 getopt 功能更加强大,使用起来更加方便。 - 什么是
命令行参数解析工具
呢? 这里拿python做例子,例如:python test.py cmd1 cmd2
其中cmd1
和cmd2
就是命令行参数,gflags就是用来解析cmd1 cmd2 到程序中的。 - ps: 在cpp中命令行参数就是字符串
1. 安装 gflags
下载地址:git clone https://github.com/gflags/gflags.git
build和安装教程在INSTALL文件中有, 该教程支持pkg-config, CMake, 以及 Bazel.
1.1 cmake
如果gflags不是安装在默认路径下,则环境变量gflags_DIR
需要是 <prefix>/lib/cmake/gflags
该文件夹下需要是有 gflags-config.cmake
的文件。
如果gflags安装在默认路径下CMake 可以通过 find_package(gflags REQUIRED)
或者添加单线程静态库:
find_package(gflags COMPONENTS nothreads_static)
自动找到 gflags 。
添加dependency和execute
add_executable(foo main.cc)
target_link_libraries(foo gflags)
1.2 Bazel
在WORKSPACE
中添加以下语句
git_repository(
name = "com_github_gflags_gflags",
commit = "<INSERT COMMIT SHA HERE>",
remote = "https://github.com/gflags/gflags.git