mprpc框架项目动态库编译

news2024/11/17 13:49:22

mprpc目录下的CMakeLists.txt

#设置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

#当前目录的所有源文件放入SRC_LIST
aux_source_directory(. SRC_LIST)

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

callee下的CMakeLists.txt

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

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

 example下的CMakeLists.txt

add_subdirectory(callee)
add_subdirectory(caller)

使用Cmake编译 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1860419.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字节跳动联手博通:5nm AI芯片诞生了?

字节跳动联手博通:5nm AI芯片诞生了? 前言 就在6月24日,字节跳动正在与美国博通合作开发一款5纳米工艺的专用集成电路(ASIC) AI处理器。这款芯片旨在降低采购成本并确保高端AI芯片的稳定供应。 根据报道,尽管芯片设计工作进展顺利…

【Python】已解决:Python读取字典查询键报错“KeyError: ‘d‘”

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:Python读取字典查询键报错“KeyError: ‘d’” 一、分析问题背景 在Python编程中,字典(dictionary)是一种非常重要的数据结构…

C# Winform 开源UI库

WinForms,作为微软.NET框架下的一个桌面应用程序开发工具,自1999年首次亮相以来,已经走过了二十多年的发展历程。它以其简单直观的拖拽式界面设计和丰富的控件库,成为了大众喜爱的入门学习编程工具。由于它是比较基础的开发工具&a…

【计算机网络仿真】b站湖科大教书匠思科Packet Tracer——实验4 集线器和交换机的区别

一、实验目的 1.验证集线器和交换机的区别; 2.验证交换机对帧的过滤功能; 二、实验要求 1.使用Cisco Packet Tracer仿真平台; 2.观看B站湖科大教书匠仿真实验视频,完成对应实验。 三、实验内容 1.构建网络,配置主机IP&…

MySQL索引优化解决方案--索引介绍(1)

什么是索引 MySQL官方对于索引的定义:索引是帮助MySQL高效过去数据的数据结构。 MySQL在存储数据之外,数据库系统中还维护着满足特定查找算法的数据结构,这些数据结构以某种引用(指向)表中的数据,这样我们…

【工具测评】ONLYOFFICE——你的下一款桌面编辑器

文章目录 前言一、安装1.1 跳转官网下载安装包1.2 安装步骤 二、功能介绍2.1 功能全面的 PDF 编辑器2.2 PDF 表单2.3 文本文档编辑器的更新2.4 电子表格编辑器的更新2.5 演示文稿编辑器有哪些更新2.6 所有编辑器中的改进内容2.7 从右至左显示 & 新的本地化选项2.8 可用性提…

unity 导入的模型设置讲解

咱们先讲Model这一栏 Model Scene:场景级属性,例如是否导入灯光和照相机,以及使用什么比例因子。 Scale Factor:缩放因子(也就是模型导入后大小如果小了或者大了在这里直接改是相当于该模型的大小的,而且在…

OpenAI: 禁止在不支持的地区使用其 API

OpenAI 给开发者发邮件表示,禁止其 API 用于不被允许的地区,否则 7 月 9 日将面临封杀。 本次封杀似乎不区分 IP ,而是直接按照地理位置。

基于Langchain-chatchat搭建本地智能知识问答系统

基于Langchain-chatchat搭建本地智能 搭建本地智能知识问答系统:基于Langchain-chatchat的实践指南引言项目概述环境安装Anacondapip 项目安装步骤大语言模型(LLM)的重要性结语 搭建本地智能知识问答系统:基于Langchain-chatchat的…

【SQL Server数据库】带函数查询和综合查询(2)

目录 1.检索至少选修课程“数据结构”和“C语言”的学生学号。 2.列出所有班名、班主任、班长、系名。 3.没有选修以“01”开头的课程的学生学号,姓名,选课的课程号。 4. 统计各门课程的选修人数,并按人数降序排列…

Linux-磁盘管理与文件系统

目录 一、磁盘结构 1、磁盘的物理结构 2、磁盘的数据结构 3、磁盘存储容量 4、接口类型 二、磁盘分区 1、磁盘的两种分区方式 1.1、MBR分区 1.2、GPT分区 三、查看硬盘的分区情况 1、Fdisk—查询磁盘设备 2、lsblk—以树形查看磁盘分区 3、blkid—查看磁盘的UUID …

eNSP中静态NAT和动态NAT的配置和使用

一、静态NAT 1.拓扑图 a.新建拓扑图 b.PC端配置 PC1: PC2&#xff1a; c.路由器配置 AR1: <Huawei>system-view [Huawei]sysname R1 [R1]interface GigabitEthernet 0/0/0 [R1-GigabitEthernet0/0/0]ip address 192.168.1.254 24 [R1-GigabitEthernet0/0/0]quit…

浏览器提升编译速度小技巧(二)- 使用Dev Drive

1. 引言 在浏览器开发过程中&#xff0c;编译速度对开发效率有着重要影响。对于大型项目如Chrome和Firefox&#xff0c;编译时间的长短不仅关系到开发进度&#xff0c;还直接影响开发者的工作体验。为了提升编译速度&#xff0c;开发者需要不断探索和应用各种优化技巧。 Wind…

Stable Diffusion【真人模型】:人像光影摄影极限写实真实感大模型

大家好&#xff0c;我是极客菌 今天和大家分享一个基于SD1.5的真人大模型&#xff1a;人像光影摄影极限写实真实感大模型。 该模型具有以下特点&#xff1a; 真实肤感&#xff08;在面部肌理和皮肤肌理上均有加强学习&#xff0c;拒绝ai出图假的问题&#xff09; 永不脱妆&a…

discuz插件之优雅草超级列表互动增强v1.2版本更新

https://doc.youyacao.com/9/2142 v1.2更新 discuz插件之优雅草超级列表互动增强v1.2版本更新 [title]20220617 v1.2发布[/title] 增加了对php8的支持 增加了 对discuz3.5的支持

【机器学习】图神经网络(NRI)模型原理和运动轨迹预测代码实现

1.引言 1.1.NRI研究的意义 在许多领域,如物理学、生物学和体育,我们遇到的系统都是由相互作用的组分构成的,这些组分在个体和整体层面上都产生复杂的动态。建模这些动态是一个重大的挑战,因为往往我们只能获取到个体的轨迹数据,而不知道其背后的相互作用机制或具体的动态…

亚马逊卖家为何需要自养账号?揭秘背后的原因

亚马逊是一家极为重视用户体验的国际电商平台&#xff0c;因此用户的评论和星级评价对店铺排名影响深远。平台审核评论非常严格&#xff0c;这些评价直接影响商品在平台上的生存和发展。 在亚马逊上&#xff0c;用户的评分和评论对商品的成功至关重要。好评多的商品通常被认为优…

docker容器相关命令

☆ 问题描述 docker容器相关命令 ★ 解决方案 1. 拉取镜像 docker pull ubuntu2.查看镜像是否拉取成功 docker images3. 运行容器 docker run -itd --name <容器名称> -p <主机端口>:<容器端口> --cpus30 ubuntu # -p设置端口 --cpus/-c 设置核心 …

【CPP】插入排序:直接插入排序、希尔排序

目录 1.插入排序1.1直接插入排序简介代码分析 1.2直接插入对比冒泡排序简介代码对比分析(直接插入排序与冒泡的复杂度效率区别) 1.3希尔排序简介代码分析 1.插入排序 基本思想&#xff1a;把一个待排数字按照关键码值插入到一个有序序列中&#xff0c;得到一个新的有序序列。 …

Python学习笔记19:进阶篇(八)常见标准库使用之glob模块和argparse模块

前言 本文是根据python官方教程中标准库模块的介绍&#xff0c;自己查询资料并整理&#xff0c;编写代码示例做出的学习笔记。 根据模块知识&#xff0c;一次讲解单个或者多个模块的内容。 这里贴一下教程地址&#xff1a;https://docs.python.org/zh-cn/3/tutorial/stdlib.h…