1

下载了 ImageMagick 的免安装版本 ( ImageMagick-6.8.6-8-Q16-x86-windows.zip ) 以在项目中使用,但它非常大,只有 123MB。

我只需mogrify.exe要做一个简单的图像调整大小。我将它复制到一个单独的目录,它运行良好,但我不确定我是否已经有一些必需的 DLL(用户可能没有这些)。

我在上运行Process Explorermogrify,但它说图像没有使用 DLL。

这是正确的还是我还需要包括其中任何一个?

atl100.dll mfc100.dll msvcp100.dll msvcr100.dll vcomp100.dll X11.dll Xext.dll

(来自 zip 文件的完整列表)

我相信vcomp100.dll它是 Visual C++ 可再发行组件的一部分,所以我想我应该包括这个,以防它没有安装在用户的机器上?

另一方面,X11.dll 看起来没有必要

除了研究每个单独的 DLL 之外,有没有更简单的方法来解决这个问题?

4

2 回答 2

1

vcomp100.dll库是在mogrify.exe. 为了安全起见,您应该将该 DLL 重新分发到与可执行文件相同的目录中。

除了研究每个单独的 DLL 之外,有没有更简单的方法来解决这个问题?

我无法回答最简单的方法是什么(除了阅读每个库文档之外),但我强烈建议编写单元测试 以确保满足您要求的所有预期功能。我能够在 XP 的 vanilla 安装(通过VirtualBox)上运行测试套件,并确认调整 PNG、JPEG 和基本绘图的大小无需额外的依赖项。

于 2013-08-19T13:38:00.037 回答
0

要发现 Windows 上的可执行文件和 dll 依赖项,您可以使用DependencyWalker(免费工具)。ProcessExplorer 仅告诉您在检查某个特定时刻某个进程加载了哪些 DLL。根据可执行文件的需要,可以按需加载或不加载 DLL,因此 DependencyWalker 可以在更多情况下为您提供帮助。

于 2013-08-21T07:35:20.990 回答