mprpc框架项目动态库编译

mprpc目录下的CMakeLists.txt

cpp 复制代码
#设置cmake的最低版本和项目名称
cmake_minimum_required(VERSION 3.0)
project(mprpc)

#设置项目可执行文件输出的路径
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

#设置项目库文件输出的路径
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

#设置项目编译头文件搜索路径 -I
include_directories(${PROJECT_SOURCE_DIR}/src/include)
include_directories(${PROJECT_SOURCE_DIR}/example)

#设置项目库文件搜索路径 -L
link_directories(${PROJECT_SOURCE_DIR}/lib)

#src 包含了mprpc框架所有相关代码
add_subdirectory(src)
#example包含了mprpc框架使用的示例代码
add_subdirectory(example)

在src底下增加一个CMakeLists.txt

cpp 复制代码
#当前目录的所有源文件放入SRC_LIST
aux_source_directory(. SRC_LIST)

#生成SHARED动态库
add_library(mprpc SHARED ${RC_LIST})

callee下的CMakeLists.txt

cpp 复制代码
set(SRC_LIST userservice.cc ../user.pb.cc)
add_executable(provider ${SRC_LIST})#可执行文件

#链接库文件
target_link_libraries(provider mprpc protobuf)

example下的CMakeLists.txt

cpp 复制代码
add_subdirectory(callee)
add_subdirectory(caller)

使用Cmake编译

查看项目工程列表,发现生成动态库

相关推荐
黄筱筱筱筱筱筱筱13 小时前
RHCE---web服务器①
linux·运维·服务器
流浪00113 小时前
Linux基础篇(三)轻松拿捏入门级指令
linux·运维·服务器
Waay13 小时前
Linux Shell 知识点考评(三):awk文本分析(附答案)
linux·服务器·编辑器
xlq2232213 小时前
53.tcp socket
linux·服务器·开发语言·网络·网络协议·tcp/ip
Shingmc314 小时前
【Linux】传输层协议UDP
linux·网络·udp
Mortalbreeze14 小时前
深度理解进程 ---- 进程优先级、进程切换、进程调度算法
linux·运维·服务器
十年编程老舅14 小时前
深度长文|Linux 图形与显示架构
linux·运维·后端·架构·内核·linux内核·通信机制
能代全能带14 小时前
Centos挂载iso安装依赖包
linux·运维·centos
相思难忘成疾14 小时前
Nginx 子目录多站点配置实验(HTTP/HTTPS 分离部署)
linux·运维·nginx·http·https·vim
劉煥平CHN14 小时前
Ubuntu 22.04 上部署 Dify
linux·运维·ubuntu