使用 CMakeLists.txt 来组织和构建包含 glog 的项目是一个很好的选择。下面是一个如何使用 CMake 与 glog 的例子。
项目结构:
├── CMakeLists.txt
└── main.cpp
CMakeLists.txt:
cmake_minimum_required(VERSION 3.10)
project(GlogExample)
# 设置C++标准为C++11
set(CMAKE_CXX_STANDARD 11)
# 查找glog库
find_package(glog REQUIRED)
add_executable(GlogExample main.cpp)
# 链接glog库到你的项目
target_link_libraries(GlogExample glog::glog)
main.cpp (和之前的代码一样):
#include
int main(int argc, char* argv[]) {
google::InitGoogleLogging(argv[0]);
google::SetLogDestination(google::INFO, "./myapp_");
LOG(INFO) << "This is an INFO log.";
LOG(WARNING) << "This is a WARNING log.";
LOG(ERROR) << "This is an ERROR log.";
VLOG(1) << "This is a verbose log level 1.";
google::ShutdownGoogleLogging();
return 0;
}
构建与运行:
在项目根目录下:
mkdir build
cd build
cmake ..
make
./GlogExample
这样,CMake 会帮助你解决库的查找和链接问题,你只需关注代码逻辑。确保在使用 CMakeLists.txt 前,你已经安装了 glog 和 cmake。如果在配置或构建时遇到问题,或者有其他的需求,可以随时询问。
CMake Error at CMakeLists.txt:8 (find_package):
By not providing "Findglog.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "glog", but
CMake did not find one.
Could not find a package configuration file provided by "glog" with any of
the following names:
glog