- 构建工具
cmake
一个cmake文件需要有一下5个部分组成
# 1.cmake最低版本
cmake_minimum_required(VERSION 3.17)
# 2.项目名
project(unittest)
# 3.依赖管理
# c++ 所需要的依赖的库分为静态链接库(.a) 与 动态链接库(.so)
# 无论是静态库还是动态库头需要依赖头文件
# find_library(var NAMES gtest REQUIRED)
# find_library(var NAMES grpc++ REQUIRED)
# find_library(var NAMES protobuf REQUIRED)
# 3.1.找头文件
# g++选项中的-I参数
# 加入代码的第三方库依赖,本src下的代码,构建的pb_C++代码
include_directories(../3rdparty/include ../src/ ../src/rpc/build/rpc )
# include_directories(../3rdparty/include ../src/ ../build/src/rpc/rpc )
# 3.2.找静态库和动态库位置
# g++命令的-L
# 外部依赖的lib,gprc的lib,pb相关的lib包
link_directories(../3rdparty/lib /usr/local/lib/ ../src/rpc/build)
# 4.生成可执行文件,需要指定生成可执行文件的名称和相关源文件
# 指定源文件
file(GLOB sources *.cpp)
add_executable(${PROJECT_NAME} ${sources})
# 5.设置要链接的库文件的名称
# 下面几个等同
# TARGET_LINK_LIBRARIES(myProject hello),连接libhello.so库
# TARGET_LINK_LIBRARIES(myProject libhello.a)
# TARGET_LINK_LIBRARIES(myProject libhello.so)
target_link_libraries(${PROJECT_NAME} -lgtest pthread grpc /usr/local/lib/libprotobuf.so grpc++ proto)
- 依赖查看:ldd