【发布时间】:2022-08-16 06:07:12
【问题描述】:
我正在使用带有 C++ 的 SDL2 和 SDL2 映像,并且有很多 DLL\'s 是运行 main.exe 所必需的。我想在没有 dll 的单个 main.exe 文件中提交项目。这可能吗?
-
听起来您想静态链接库而不是使用动态链接:wiki.libsdl.org/Installation#static_linking
-
另请参阅this question 和许多其他喜欢它的人。
-
当然,您可以编写一个程序,将 DLL\'s 转换为例如字节数组,然后将其嵌入到您的 Exe 中,它需要在第一次启动时将 em 写回文件系统......我用 Icons n 的东西做了这个,小得多。但原理是便携
-
@schnedan:不是真的。当 Windows 加载您的可执行文件时,它已经解析了 DLL。这发生在您的
main运行之前,因此您无法及时提取 DLL。稍后需要图标,因此它们确实有效。 -
@MSalters 可以通过动态/延迟加载 DLL 来避免。