我正在使用caffe庫製作我自己的C++分類程序。 我想在caffe的模型初始化步驟中隱藏所有的日誌消息。從我自己的C++程序剝離caffe的日誌消息
根據Disable glog's "LOG(INFO)" logging, 我可以通過從命令線設定環境變量
GLOG_minloglevel = 2
禁用大部分日誌。
但是,我真正想要的是從可執行文件本身刪除所有日誌,因此用戶無法通過重新GLOG_minloglevel值上的日誌轉。
我能找到一種方法,從http://rpg.ifi.uzh.ch/docs/glog.html剝去編譯時出入記錄的日誌信息。 它說我可以刪除日誌是這樣的:因爲我的應用程序使用朱古力的C++庫
> #define GOOGLE_STRIP_LOG 1 // this must go before the #include!
> #include <glog/logging.h>
,我需要重建朱古力庫添加下列選項add_definitions(-DGOOGLE_STRIP_LOG=2)
以朱古力的的CMakeLists.txt。 編譯成功,但是當我用新的caffe庫運行我的應用程序時,它在模型初始化步驟中停止了分段錯誤錯誤。 我可以通過像這樣運行gdb來獲得更詳細的錯誤信息:
程序接收到的信號SIGSEGV,分段錯誤。 __memcpy_sse2_unaligned()在../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:153 153 ../sysdeps/x86_64/multiarch/memcpy-sse2-unaligned.S:沒有這樣的文件或目錄
當我朱古力的的CMakeLists.txt回滾到原來的朱古力庫沒有add_definitions(-DGOOGLE_STRIP_LOG=2)
,我的應用程序運行正常。
任何人都可以給我一個解決這個問題的提示嗎?
預先感謝您。
爲什麼你想刪除日誌記錄 - 不知道它在某些時候有用嗎? –