visual studio生成动态库DLL

visual studio生成动态库DLL

  1. 创建动态库工程

    注意 #include "pch.h" 要放在上面

    完成后点击生成

  2. 创建一个控制台项目

设置项目附加目录为刚才创建的动态库工程Dll1:

配置附加库目录:

配置动态库的导入库(.lib:链接器仅记录符号信息,不合并代码,但需要它来解析符号引用。这里的lib文件不是静态库

右击设置控制台项目为启动项目,然后点击启动就ok了

2025/5/14 补充:

动态库一般会定义一个宏

cpp 复制代码
#ifdef MYLIBRARY_EXPORTS
    #define MYLIB_API __declspec(dllexport)
#else
    #define MYLIB_API __declspec(dllimport)
#endif

可以把这个宏放在动态库都需要包含的头文件 "pch.h" 中,让动态库中的每个头文件都可以包含到它。

动态库工程中,在项目属性页,c+±预处理器-预处理定义中,添加这个宏 MYLIBRARY_EXPORTS,在主工程中不添加这个宏,这样就可以使用了。

另外,主工程包含动态库,一般会将动态库的头文件路径配置到主工程的包含目录中,主工程的库目录配置动态库lib文件(动态库导入文件,非静态库文件)所在目录,然后将动态库dll文件放入主工程exe文件所在目录下(否则会报找不到该dll文件)

linux系统中,lib文件和dll文件合二为一变成了so文件,所以只需要将头文件和so文件加入到主工程中就可以了。在windows系统中,一般需要先编译生成动态库文件,再配置主工程的包含目录(一般不把动态库的头文件加入到主工程中),库目录,复制dll库文件到动态库exe文件所在文件夹。

相关推荐
郝学胜-神的一滴1 小时前
C++11 工程级应用 09:告别无谓拷贝,解锁高性能移动语义
开发语言·数据结构·c++·vscode·软件工程·visual studio
2501_915918419 小时前
在Windows10上使用VSCode和Code Runner搭建Swift开发环境详细步骤
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
墨白曦煜10 小时前
穿透 IDE 的障眼法:Git 四大工作区与核心数据流转解析
ide·git
VIP_CQCRE11 小时前
Visual Studio 接入 Ace Data Cloud:让 LMLocal 直接调用统一 AI 模型能力
ai编程·visual studio·openai兼容·ace data cloud·lmlocal
VIP_CQCRE1 天前
Visual Studio 也能接入云端大模型:用 LMLocal 连接 Ace Data Cloud
ai·开发工具·visual studio·ace data cloud·lmlocal
VIP_CQCRE1 天前
在 Visual Studio 里接入 Ace Data Cloud:让 AI 编程能力更快落地
ai·visual studio·ace data cloud
kqz20141 天前
Android Studio Commit 面板临时文件.gitignore
ide·android studio·intellij-idea
天天喝旺仔1 天前
AI 编程实战:用 Cursor + Claude Code + Copilot 把效率翻倍
ide·chatgpt·prompt·copilot·ai编程
captain3761 天前
网络编程(1)
java·网络·ide·java-ee
国产化创客1 天前
创客开发入门(三)Arduino IDE 开发环境
ide·单片机·嵌入式硬件·课程设计·智能硬件