惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

有赞技术团队
有赞技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
J
Java Code Geeks
Microsoft Security Blog
Microsoft Security Blog
G
Google Developers Blog
D
DataBreaches.Net
Recent Announcements
Recent Announcements
Microsoft Azure Blog
Microsoft Azure Blog
B
Blog RSS Feed
Y
Y Combinator Blog
博客园 - 【当耐特】
博客园 - 聂微东
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
P
Proofpoint News Feed
量子位
C
Check Point Blog
F
Fortinet All Blogs
罗磊的独立博客
Last Week in AI
Last Week in AI
GbyAI
GbyAI
L
LangChain Blog
博客园 - 司徒正美

博客园 - DoubleLi

Git 自动添加 git 子模块(.gitmodules) 如何在gitlab中使用子模块 CMake应用:模块化及库依赖 聊聊git push到远程服务器出现RPC failed问题 Qt Create多核编译配置 C++程序的发布部署方式及缺失依赖库dll的解决方法 VS+QT生成的exe文件所依赖的dll文件和路径 详解 Visual Studio、MSVC、编译器版本,看完就不再困惑啦! MobaXterm使sftp目录与terminal目录同步 从GPS/北斗模块中获取经纬度 Loguru:Python 日志终极解决方案 VsCode C++ namespace has no member错误 VS Code 提示 namespace “std“ has no member “***“ 解决方法 windows平台中使用vscode远程连接linux进行c++开发配置教程(内容详细适合小白)-2021-3-30 vscode C++ 自动补全失效 从零开始的vscode安装及环境配置教程(C/C++)(Windows系统) VScode 完全卸载并清除原有配置 vscode中 “std“ 没有成员 “round“C/C++(135) vscode 提示 namespace “std“ has no member “mutex“ 的解决方法
vs如何发布exe并附带动态链接库dll
DoubleLi · 2024-09-05 · via 博客园 - DoubleLi


vs如何发布exe并附带动态链接库dll

我们在学习的时候经常编一些自己写的程序,在 自己的电脑上我们肯定是 可以运行的

但是有时候在别人的电脑上,我们就会发现,有些程序并不能运行

这是因为你的exe移植到另一台电脑上,没有包含程序所需要的动态链接库(dll),因此程序不能运行。

下面教大家使用vs如何发布exe并附带动态链接库dll
拿我自己的程序做例子

  1. 点击vs——工具——命令行——开发者PowerShell
    在这里插入图片描述

2.弹出一个界面,此时已经我们处于双人俄罗斯方块.sln文件所在的位置。在这里插入图片描述
3.根据自己程序的发布情况,找到发布的exe所在的文件夹
(我这里是x64的debug模式发布的)
在这里插入图片描述

我这里是x64的debug模式发布的。因此应该寻找x64文件夹在这里插入图片描述
寻找debug文件夹(如果发布模式是release,那就要寻找release文件夹)在这里插入图片描述
找到我的双人俄罗斯方块.exe
在这里插入图片描述
4.在弹出的页面中,用命令行切换到exe所在的文件夹。
(这步操作不懂的,可以先学习操作系统的文件系统,我简单说一下,改变当前目录就是 “cd + 文件夹名”,没有啥为什么,这就是固定一条指令而已)

在这里插入图片描述
5.然后我们就要开始查询“双人俄罗斯方块.exe”所需要的动态链接库(dll)了。

dumpbin /dependents 你的程序名字.exe
  • 1

在这里按照我的例子,应该输入
dumpbin /dependents 双人俄罗斯方块.exe
查询结果如下所示,共有9个dll。
在这里插入图片描述
6.我们依次复制每一个dll的名字,进入整个电脑搜索即可,每次找到一条dll,就将其复制出来
(注意! 名字一定要和上面显示的一样,不然就不是同一个dll)
最终将exe文件和dll放在同一个文件夹中,所有的工作就已经完成了。
在这里插入图片描述

7.最终,一个标准exe的发布大概是下面的样子(data是我的游戏素材)
在这里插入图片描述