首页 > 其他分享 >使用Visual Studio 2022 创建lib和dll并使用

使用Visual Studio 2022 创建lib和dll并使用

时间:2023-12-13 10:59:07浏览次数:32  
标签:lib 创建 dll Visual Studio include

对于一个经常写javaWeb的人来说,使用Visual Studio似乎没什么必要,但是对于使用ffi的人来说,使用c或c++编译器,似乎是必不可少的,下面我将讲述如何用Visual Studio 2022 来创建lib和dll,并使用。

静态库的创建并使用

首先打开Visual Studio 2022,点击创建新项目。

选择静态库,然后点击下一步。

点击创建。

Visual Studio 2022会自动生成以下代码:

然后打开项目属性,看一下配置是不是对的,一般来说都是对的。

看看是不是lib。

接下来就是写代码生成lib并测试一下:
1. 编写代码:
比如说,我就想编写一个输出hello World的代码,那该如何编写呢?
首先在头文件中,创建一个hello.h的文件

然后在头文件中,定义一个sayHello的方法。

#include<stdio.h>
void sayHello();


然后Hellolib.cpp在重写这个方法。

// Hellolib.cpp : 定义静态库的函数。
//
#include "pch.h"
#include "framework.h"
#include "hello.h"
// TODO: 这是一个库函数示例
void sayHello()
{
	printf("Hello World");
}
  1. Visual Studio自动生成lib
    右键点击这个Hellolib

    点击生成,就行了。

    生成成功:

3.如何使用:
先说一下,生成的lib的位置,就是在上一级的x64的debug文件夹里面。

在这里面新建一个空项目,用于测试lib的,我这里叫它testHello

在testHello里面新建两个文件夹,一个叫include,用来放.h的头文件的,一个叫lib,用来放lib包的。
将我们生成的那个lib放进去,还有之前定义的.h文件也放到include文件里面。
然后右击testHello,打开属性。

然后开始调整:
配置lib


一般来说,不创建源文件,它不会有c/c++编译器,那个选项
然后创建一个test.cpp的源文件。

创建源文件后,在设置一下。
配置include文件

我再说一遍,一定要先创建源文件,不然是没有c/c++的那个选项的。
然后编写相应的代码。
看这个时候,就已经出来了:

编写测试代码:

#include "hello.h"
int main() {
	sayHello();
	return 0;
}

然后点击运行,就会报错。

这个错误是因为在启动项目的时候,默认运行上一个项目了,我们将它改一下,就行了。
右击解决方案,点击属性。

把启动项目改一下,改成你要运行的那个项目就行了。

运行结果:

动态库的创建并使用

然后就是搞dll文件,新建一个Hellodll项目。

初始化,页面长这样。

创建头文件

#pragma once
#include"pch.h"
#ifdef MATHLIBRARY_EXPORTS
#define MATHLIBRARY_API __declspec(dllexport)
#else
#define MATHLIBRARY_API __declspec(dllimport)
#endif

extern "C" MATHLIBRARY_API void sayHello();

一样的步骤创建cpp实现

点击HelloDll项目,右击生成。

运行结果:

查看生成dll的文件

在这里面新建一个项目 testDll
然后一样的处理,在testDll里面建立一个include文件夹和lib文件夹,include文件夹里面放头文件,lib文件夹里面放dll和lib



然后设置一下include属性

然后设置一下dll和lib



然后编写代码:

#include "Hello.h"
int main()
{
	sayHello();
	return 0;
}


然后配置一下运行的项目。

点击运行,查看结果,会报错:

然后,把这行#include"pch.h"代码删了

然后运行,运行成功。

由于本人不是主修c++的,有问题的,还请提出来,如确实如此,本人乐意接受。

标签:lib,创建,dll,Visual,Studio,include
From: https://www.cnblogs.com/nanshaws/p/17898274.html

相关文章

  • Python报错:pkg-config could not find libraries ['avformat', 'avcodec', 'av
    参考:https://github.com/PyAV-Org/PyAV/issues/238https://pyav.org/docs/6.1.2/installation.html#mac-os-x  =====================  报错信息:C:\Users\liuxue>pipinstallavCollectingavUsingcachedav-0.3.3.tar.gzInstallingcollectedpackages:avRunning......
  • 深入解析Python网络编程与Web开发:urllib、requests和http模块的功能、用法及在构建现
     网络和Web开发是Python中不可或缺的重要领域,而其核心模块如urllib、requests和http在处理网络请求、HTTP请求和响应以及Web开发中扮演着关键的角色。这些模块为开发者提供了丰富的工具,使其能够灵活处理网络通信、构建Web应用和与远程服务器进行交互。深入了解这些模块的用法和作......
  • Quick BI 数据分析 - Alibaba Cloud的文档PDF
     下载地址:https://static-aliyun-doc.oss-cn-hangzhou.aliyuncs.com/download%2Fpdf%2F164487%2F%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590_intl_zh-CN.pdf      ......
  • linux mysql libmysqlcppconn select,update mysql
    #include<chrono>#include<cstring>#include<ctime>#include<fstream>#include<iomanip>#include<iomanip>#include<iostream>#include<memory>#include<mutex>#include<queue>#include<......
  • visual Studio 2022 C++ 配置PCL库
    理论上来说,配置过程跟其他库没有什么区别,可以参考如下几篇博文1. https://blog.csdn.net/yellow_hill/article/details/1264586922. https://blog.csdn.net/syz201558503103/article/details/103892364但有个比较坑的一个点是:由于PCL第三方库的debug和Release文件都放置在一......
  • Linux学习36- python3.9出现ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+
    遇到问题python3.9上安装requests库,requests包引入了urllib3,而新版本v2.x的urllib3需要OpenSSL1.1.1+以上版本所以就出现了报错File"/root/python39/lib/python3.9/site-packages/_pytest/assertion/rewrite.py",line186,inexec_moduleexec(co,module.__dict__......
  • 解决Visual Studio 2022升级到17.8之后,Visual AssistX功能OpenCorespondingFile快捷键
    冲突的命令是:Edit.IntelliCode.APIUsageExamples,这是v17.7的:  这是17.8的:  所以,解决方法就是在新版本中,将Edit.IntelliCode.APIUsageExamples的快捷键移除,并重新为VAssistX.OpenCorespondingFile添加Alt+O的全局快捷键即可。改好后可以在VAX的菜单中看到,如果没生效,......
  • 【译】Visual Studio 17.8 中我最喜欢的特性
    对于VisualStudio团队来说,这是忙碌的一周,他们准备了Ignite和.NETConf,并发布了最新版本的VisualStudio2022,即17.8版本。有很多很酷的新功能,AI增强,性能改进等等的公告。这太难以消化了,所以我想我应该让大家注意到我最喜欢的一些特性。保留大小写的查找和替换在......
  • Visual Studio 2022 搞定
    第一次装这个是好久好久以前,好怀念哪个时候。。。。没什么条条框框的限制,需要啥就去电脑城买个碟就行,4块钱。今天折腾半天,终于搞定。留个记号吧。附带了专业版激活密钥,激活后即可永久免费使用,喜欢的小伙伴千万不要错过哦。(从这里低调的拿走,https://kdocs.cn/l/cixbRhgzh1pv)VisualS......
  • How to add your own library in MATLAB Simulink Library Browser
    https://www.youtube.com/watch?v=WxFBXEZo0VI&ab_channel=HighVoltageEngineeringbyMGNiasarhttps://ww2.mathworks.cn/help/simulink/ug/creating-block-libraries.htmlLibrariesinSimulinkMadeEasy:https://www.youtube.com/watch?v=xWmIACn5Te0&ab_channel......