C++代码生成静态LIB链接库及其调用方法

news2024/9/27 9:20:28

1、在进行C++代码移植时可将CPP文件封装为静态lib链接库,本文章讲述了如何将cpp文件封装为lib文件。

2、假设有文件a.cpp、a.h、b.cpp、b.h以及main.cpp,假设main调用了b,b调用了a。现在需要将a.cpp以及b.cpp封装为a.lib以及b.lib。

3、在VS2017版本中新建LibA项目

4、设置不使用预编译头

5、将下图4个文件全部删除

 6、将a.cpp、a.h添加到项目中,点击生成解决方案。这里要注意,设置的Debug平台,如果时x86,那么后面都需要设置为x86,要不然会提示链接失败。

 7、新建LibB项目

8、执行步骤4以及步骤5

9、将将b.cpp、b.h添加到项目中,将a.lib以及a.h移动到项目中(如果a.cpp调用了外部包,需要将外部包也移动到b项目的目录下。我的a项目是Util,b项目是load_circuit_from_case)

 10、在b项目的b.h中,之前的代码是只引用头文件,现在将lib文件也添加进去即可,一定要配置与a的平台一样,前面为x86则现在b项目也改为x86。

#pragma comment(lib, "Util.lib")

 11、重复步骤6

 12、新建Main项目,重复步骤4、5、9、10

 13、OK了,你的代码被加密了。

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

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

相关文章

Java8中forEach()里使用return的效果

先总结:使用forEach()处理集合时不能使用break和continue这两个方法,可以使用无返回值的return跳出此次循环,效果同标准for循环的continue。 首先,forEach()先对入参判空,然后使用增强for循环调用action.accept(t)&am…

VGG16模型详解

VGG16模型详解 0、VGG16介绍 VGG16是一种深度卷积神经网络,由牛津大学的研究团队于2014年开发。 VGG16在2014年的ImageNet Large Scale Visual Recognition Challenge (ILSVRC) 竞赛中取得了显著的成绩。它在图像分类任务中获得了当年的第二名,其准确…

【Java可执行命令】(二十一)线程快照生成工具 jstack:帮助开发人员分析和排查线程相关问题(死锁、死循环、线程阻塞...)

Java可执行命令之jstack 1️⃣ 概念2️⃣ 优势和缺点3️⃣ 使用3.1 语法格式3.2 使用步骤及技巧3.3 使用案例 4️⃣ 应用场景🌾 总结 1️⃣ 概念 jstack 命令是 Java Development Kit(JDK)中提供的一项诊断工具,用于生成Java虚拟…

震坤行工业超市旗下震坤行智能制造(苏州)有限公司开工奠基仪式圆满成功

震坤行工业超市旗下震坤行智能制造(苏州)有限公司开工奠基仪式圆满成功 2023年7月3日,震坤行工业超市于太仓港经济技术开发区举行了震坤行智能制造(苏州)有限公司项目奠基动工仪式。震坤行董事长兼CEO陈龙&#xff0c…

基于OFDM通信系统的低复杂度的资源分配算法matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .......................................................................%子载波分配[~,po…

Grafana技术文档-概念-《十分钟扫盲》

Grafana官网链接 Grafana: The open observability platform | Grafana Labs 基本概念 Grafana是一个开源的度量分析和可视化套件,常用于对大量数据进行实时分析和可视化。以下是Grafana的基本概念: 数据源(Data Source)&#…

idea+gradle阅读spring5.2.9源码之源码构建报错解决方案

注意 1、先确保gradle版本和spring、jdk版本对应 本文:gradle:5.6.4/spring 5.2.9/jdk1.8(gradle和jdk都要先安装好,gradle还要配置好本地资源文件路径) 2、原来项目乱了的话,先重新导入下载的源码项目 3、进入源码所在根目录&…

【iOS】autoreleasepool

来说一下最近在了解的autoreleasepool吧&#xff0c;我们可能平时书写过许多脑残代码&#xff0c;其有很多的缺陷但是我们可能当时学的比较浅就也不太了解&#xff0c;就像下面这样的&#xff1a; for (int i 0; i < 1000000; i) {NSNumber *num [NSNumber numberWithInt…

【前端 | CSS】aligin-items与aligin-content的区别

align-items 描述 CSS align-items 属性将所有直接子节点上的 align-self 值设置为一个组。align-self 属性设置项目在其包含块中在交叉轴方向上的对齐方式 align-items是针对每一个子项起作用&#xff0c;它的基本单位是每一个子项&#xff0c;在所有情况下都有效果&…

【uniapp】原生子窗体subNvue的使用与踩坑

需求 最近接到个需求, 需要在video组件上弹出弹窗, 也就是覆盖video这个原生组件 未播放时, 弹窗可以覆盖, 但是当video播放时, 写的弹窗就覆盖不了了 因为video是原生组件, 层级非常高, 普通标签是覆盖不了的, map标签同理 覆盖原生组件, 官方给出解决办法一. 使用cover-view…

文件传输软件常见问题解决办法大全

文件传输软件是我们工作中不可缺少的一种工具&#xff0c;它可以帮助我们快速、安全、稳定地传输各种文件&#xff0c;如文档、图片、视频等。但是在使用文件传输软件的过程中&#xff0c;我们也可能会遇到一些问题&#xff0c;影响我们的工作效率和传输质量。那么&#xff0c;…

【陈老板赠书活动 - 10期】- 【Python之光:Python编程入门与实战】

陈老老老板&#x1f9b8; &#x1f468;‍&#x1f4bb;本文专栏&#xff1a;赠书活动专栏&#xff08;为大家争取的福利&#xff0c;免费送书&#xff09; &#x1f468;‍&#x1f4bb;本文简述&#xff1a;生活就像海洋,只有意志坚强的人,才能到达彼岸。讲一些我刚进公司的学…

【ARM Cache 系列文章 9 番外篇 -- ARMv9 系列 Core 介绍】

文章目录 ARMv9 系列CoreARM Cortex-A510 介绍ARM Cortex-A715ARM Cortex-A720 ARMv9 系列Core 2021年5月Arm公布了其最新3款CPU和3款GPU核心设计&#xff0c;三款新CPU分别是旗舰核心Cortex-X2、高性能核心Cortex-A710、高能效核心Cortex-A510 CPU&#xff0c;三款新GPU核心则…

【Linux】深入探索Linux信号

目录 写在前面的话 什么是信号 生活中的信号 Linux下的信号 Linux常见信号 Core核心转储 信号如何产生 键盘组合键 1.如何理解信号被进程保存 2.如何理解信号发送的本质 通过系统调用向进程发送信号 kill() 手动实现kill指令 raise() abort()[非系统调用…

Django ORM 框架中的表关系,你真的弄懂了吗?

Django ORM 框架中的表关系 为了说清楚问题&#xff0c;我们设计一个 crm 系统&#xff0c;包含五张表&#xff1a; 1.tb_student 学生表 2.tb_student_detail 学生详情表 3.tb_salesman 课程顾问表 4.tb_course 课程表 5.tb_entry 报名表 表关系和字段如下图&#xff1a…

String 类的运用

目录 1.字符串构造 2.String对象的比较 2.1比较是否引用同一个对象 2. 2boolean equals(Object anObject) 2.3int compareTo(String s) 方法: 按照字典序进行比较 2.4int compareToIgnoreCase(String str) 3.字符串查找 4.2大小写转换 4.3字符串转数组 4.4 格式化 5.字…

java 企业工程管理系统软件源码 自主研发 工程行业适用 em

​ 工程项目管理软件&#xff08;工程项目管理系统&#xff09;对建设工程项目管理组织建设、项目策划决策、规划设计、施工建设到竣工交付、总结评估、运维运营&#xff0c;全过程、全方位的对项目进行综合管理 工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#…

好用的无线蓝牙耳机怎么选?七款真无线蓝牙耳机分享盘点

随着蓝牙技术的不断进步&#xff0c;近年来蓝牙耳机发展更是呈指数式上升阶段。蓝牙耳机凭借其携带便捷性以及摆脱线的缠绕而在外出必备数码产品中名列前茅&#xff0c;现如今在日常生活中随处可见的都有戴着蓝牙耳机的人&#xff0c;或是听歌、或是降噪、或是玩游戏等等&#…

分享实录 | 将 NGINX 打造成功能强大的 API 网关(上)

原文作者&#xff1a;易久平 原文链接&#xff1a;分享实录 | 将 NGINX 打造成功能强大的 API 网关&#xff08;上&#xff09; NGINX 唯一中文官方社区 &#xff0c;尽在 nginx.org.cn 大家好&#xff0c;很高兴加入此次 NGINX 深潜之旅。接下来我将给大家分享如何将 NGINX 打…

DP(状态机模型)

大盗阿福 阿福是一名经验丰富的大盗。趁着月黑风高&#xff0c;阿福打算今晚洗劫一条街上的店铺。 这条街上一共有 N 家店铺&#xff0c;每家店中都有一些现金。 阿福事先调查得知&#xff0c;只有当他同时洗劫了两家相邻的店铺时&#xff0c;街上的报警系统才会启动&#x…