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

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

相关推荐
LoneEon24 分钟前
CentOS7 部署 Nacos3.x 集群实战:从注册中心到 AI 管理中心
linux·人工智能·nacos
传人41 分钟前
为什么 Xshell 中可以通过java -version查询到java 版本号码,Electerm 却查不到?
java·linux·服务器
鬼手点金1 小时前
opencode-全能开发者配置
java·linux·服务器·前端·javascript·学习·前向传播
xixiaoyunya2 小时前
虚拟机备份怎么做:镜像级与文件级搭配的完整实操方案
linux·运维·网络
墨家句子2 小时前
服务器被反复尝试登录之后:fail2ban 加密钥登录的五道加固
linux·后端
阿明62 小时前
进程替换【Linux】
linux·运维·服务器
sunoo-2292 小时前
【嵌入式Linux驱动学习】Day1-Day2 全流程梳理:环境搭建→U-Boot→内核→根文件系统→驱动基础
linux·运维·驱动开发·笔记·学习·阿里云·恩智浦
倔强的石头1063 小时前
【Linux指南】动静态库系列(十二):库工程发布与错误排查:从能跑到可维护
linux·运维·服务器
xiaoye-duck3 小时前
《Linux 网络编程》深入理解 epoll(上):从接口到底层内核工作机制剖析
linux·网络
ouynagda4 小时前
嵌入式Linux i.MX6ULL系统移植学习笔记
linux·笔记·学习