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编译

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

相关推荐
三言老师6 分钟前
ss高效查看网络连接端口实操
linux·运维·服务器·网络
三言老师8 分钟前
traceroute路由追踪实操
linux·运维·服务器·网络
我是小灰灰吖24 分钟前
Ubuntu 22.04 切换为 X11 会话以解决 QT 桌面程序兼容性问题
linux·qt·ubuntu
荒--33 分钟前
kali 操作基础(二)
linux·网络
XH华38 分钟前
Linux系统第四章:工具的学习
linux·运维·学习
刚入门的大一新生1 小时前
Linux-基础开发工具1
linux·运维·服务器
桑榆4162 小时前
WebRTC 本地视频文件推流 Demo 搭建指南 (Ubuntu 24.04)
linux·ubuntu·webrtc
meilindehuzi_a2 小时前
深入理解 Linux 进程地址空间:从虚拟内存、页表映射到 fork 写时拷贝与 VMA 管理
java·linux·服务器
z20348315202 小时前
Ubuntu双系统安装指南:从 UEFI 原理到 Ubuntu 分区方案的全面解析
linux·运维·ubuntu
wangjing_05222 小时前
通过CentOS 7虚拟机的Docker服务部署Node-RED及气象数据显示界面搭建完整教程
linux·docker·centos