【问题标题】:Get rid of DLLs with source code?用源代码摆脱 DLL?
【发布时间】:2013-08-20 12:49:00
【问题描述】:

我想在我的项目中使用LibSndFile 。它为 x32 和 x64 提供了一组 dll,但我想摆脱 dll。是否可以从源代码构建 .lib 文件,然后摆脱 dll?

我不想要 .dll,因为您必须将它们复制到 Windows 文件夹中才能使程序正常工作,而且我希望只有一个包含所有内容的大文件(是的,我尝试了 ILMerger 或 IlRepack 等成功)

【问题讨论】:

  • 您必须将它们复制到 Windows 文件夹中,这是不正确的。请参阅msdn.microsoft.com/en-us/library/ms682586(v=vs.85).aspx,桌面应用程序。它以“加载应用程序的目录”开头,换句话说,将 dll 放在你的 exe 旁边就可以了。
  • 感谢您的回答。这是一个 dll 而不是 exe(对不起,我没有提到),我试图将 dll 库放在 dll 旁边,但它不起作用
  • 我不知道您正在使用的插件主机的开发人员的响应速度如何,但他们应该在加载插件时使用带有LOAD_WITH_ALTERED_SEARCH_PATH 标志的LoadLibraryEx,特别是允许插件从自己的目录加载自己的依赖项。也许您可以向他们提交错误。

标签: dll libsndfile


【解决方案1】:

您可以阅读此主题:How to convert a dynamic dll to static lib?

然后你可以试试 Enigma Virtual Box:http://enigmaprotector.com/en/aboutvb.html 最后一个允许您将所有文件(dll 和资源)打包到一个可执行文件中。

【讨论】:

  • 感谢您的回答。 Enigma 听起来不错,但我无法使打包的 dll 工作(它说我内存不足)。我之前也试过 DLL2LIB 也没有运气
猜你喜欢
  • 1970-01-01
  • 2010-09-23
  • 2019-01-21
  • 2010-10-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-06
  • 2017-04-13
相关资源
最近更新 更多