繁体   English   中英

如何使用.exe文件发送.dll文件

[英]How to ship .dll files with the .exe file

我有一个依赖于某些.dll文件的应用程序。 我知道如果我只是将它们放在与.exe文件相同的文件夹中,它会起作用,但我不想在我的.exe文件中留下30个.dll文件。 有没有办法将它们放在我的.exe文件的文件夹中?

或者甚至更好,是否可以编译它们并将它们与.exe文件链接以获得独立文件? 不,我没有这些动态库的静态版本。

(ps应用程序是用c编写的,用gcc编译,mingw是win64,而.dll是来自gtk3库)

感谢您阅读我的问题

你有很多选择。

A)在Windows上获取库文件,.lib并静态链接这些库。

B)这有点像黑客,但你可以将资源附加到Windows可执行文件中。 这通常用于字符串,图标等等,但您甚至可以附加在二进制文件中。 但是如果你这样做,你可能需要在程序启动时生成dll二进制文件并保存到与可执行文件相同的文件夹中。 所以没有必要这样做,只需在与exe相同的文件夹中分发。 这样做有什么问题? (查找LoadResource,FindResource,MAKEINTRESOURCE等)

C)如果你不想让dll与exe的路径相同,你需要将它们存储在系统路径env变量的文件夹中。 例如,您可以将它们复制到C:\\ Windows - 但由于安全性会更难。 您可以创建自己的dll_path,并将此路径添加到env变量中,作为程序安装的一部分。

D)C)的另一个变体是你复制到你的exe位置的子目录,例如dll_files。 然后使用启动脚本启动您的程序,如下所示:

@echo off
set PATH=%PATH%;<path to dll files>
myprogram.exe

让我们变得简单
从下载winrar
www.rarlab.com/download.htm
A)创建独立的winrar可执行文件将您的文件打包并存档并执行您的主程序。
不知道如何为您创建独立的安装程序指南

http://www.groovypost.com/howto/howto/how-to-make-your-own-offline-installers-using-winrar/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM