您可以在GTK +网站的Windows页面上找到一些提示。这是名为“ 构建和分发应用程序”的部分。它的博客文章是有关在Windows上分发GTK +应用程序的。
此处提出的解决方案是为您的应用程序创建一个MSYS2软件包,然后将其及其所有依赖项(包括GTK +)安装在特定目录中,以便您可以重新分发整个软件包。
事实证明,运行ldd mygtkapp.exe(与lddMinGW 一起提供)为我提供了使其运行所需的所有dll的列表。为了获得仅是GTK依赖关系(而不是如的Win32 DLL)中的dll文件我用下面的命令:ldd mygtkapp.exe | sed -n 's/\([^ ]*\) => \/mingw.*/\1/p' | sort。我的程序使用了Haskell绑定,因此依赖关系可能有所不同,但这就是我得到的:
libatk-1.0-0.dll
libbz2-1.dll
libcairo-2.dll
libcairo-gobject-2.dll
libepoxy-0.dll
libexpat-1.dll
libffi-6.dll
libfontconfig-1.dll
libfreetype-6.dll
libgcc_s_seh-1.dll
libgdk_pixbuf-2.0-0.dll
libgdk-3-0.dll
libgio-2.0-0.dll
libglib-2.0-0.dll
libgmodule-2.0-0.dll
libgobject-2.0-0.dll
libgraphite2.dll
libgthread-2.0-0.dll
libgtk-3-0.dll
libharfbuzz-0.dll
libiconv-2.dll
libintl-8.dll
libpango-1.0-0.dll
libpangocairo-1.0-0.dll
libpangoft2-1.0-0.dll
libpangowin32-1.0-0.dll
libpcre-1.dll
libpixman-1-0.dll
libpixman-1-0.dll
libpng16-16.dll
libstdc++-6.dll
libwinpthread-1.dll
zlib1.dll
Run Code Online (Sandbox Code Playgroud)
还请注意,制作一个完全独立的应用程序还需要做其他几件事,特别是如果您使用的是股票图标。有关更多详细信息,请参见/sf/answers/2427170231/。但是请注意,我需要复制16x16目录而不是可伸缩目录。
编辑:其实我已经发现了下面的命令是非常有用的:ldd mygtkapp.exe | grep '\/mingw.*\.dll' -o | xargs -I{} cp "{}" .。该命令实际上将dll复制到当前目录,从而无需您费力地自己做。
| 归档时间: |
|
| 查看次数: |
4496 次 |
| 最近记录: |