gflags是google開發的一套命令行參數解析工具,被很多軟件系統所依賴,應該算是一個基礎的庫,安裝其實很簡單,但是如果在網上找的一些教程大部分都是安裝后不能被其他軟件調用的,因為默認使用cmake編譯出的gflags只開啟的靜態庫,當調用動態庫時會報各種錯誤,正確開啟方法應該是編譯時開啟動態鏈接庫參數,然后才能被外部引用
源碼倉庫:https://github.com/gflags/gflags,下載穩定版即可,目前是2.2.2,安裝之前確保有cmake
然后解壓並進入目錄:
tar -xvzf gflags-2.2.2.tar.gz cd gflags-2.2.2/
創建編譯目錄:
mkdir build cd build/
開始編譯:
cmake -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON -DINSTALL_HEADERS=ON -DINSTALL_SHARED_LIBS=ON -DINSTALL_STATIC_LIBS=ON .. make make install
上面的這些選項就是動態庫和靜態庫的選項,都打開就可以了,然后默認安裝目錄是:/usr/local,可以使用命令: ls /usr/local/lib/libgflags* -l 驗證一下動態庫是不是存在
如果動態庫都正常則安裝成功了,默認頭文件目錄是/usr/local/include,庫目錄是/usr/local/lib,如果其他軟件依賴於gflags那么在編譯階段系統會自動調用/usr/和/usr/local下面對應的庫;在運行階段可能會提示so不存在的情況,這時候只需要將動態庫目錄加入LD_LIBRARY_PATH或者添加/etc/ld.so.conf配置均可,比如 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 然后就可以了.