我该如何找到我的C++程序使用了哪些DLL文件?

3
即使我以发布模式构建exe文件,当我尝试在另一台PC上执行程序时,仍会出现DLL未找到的错误。因此,我需要找出程序需要哪些dll,并将它们与exe文件一起复制。但我似乎无法弄清楚如何查找程序使用了哪些dll。
#include "SDL.h"
#include "SDL_image.h"
#include "SDL_ttf.h"
#include "SDL_mixer.h"
#include <string>
#include "head.h"
#include <cstdlib>
#include <stdio.h>
#include <stdlib.h>
#include <fstream>
#include <windows.h>

我相当确定它所需的dll基于包含的内容,因此以下是它们。我知道SDL库使用了哪些,但其他的我就不清楚了。

3个回答

8

你可以尝试使用Dependency Walker来帮助解决问题。请看下面的应用程序截图。

enter image description here


3

使用dumpbin打印出由您的可执行文件或DLL所需的所有动态库:

dumpbin /dependents myprog.exe

通常情况下,您可以在目录"C:\Program Files (x86)\Microsoft Visual Studio XXX\VC\bin"中找到dumpbin.exe

2

在运行exe文件之前,您可以使用依赖项查看器来查看所有依赖项是否可用:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接