将dll转换为lib以进行静态链接?

时间:2010-08-03 01:39:26

标签: c++ c dll static-linking

是否有一种静态链接dll的免费方式?我已经尝试过dll到lib但999美元太贵了。什么是替代品,因为我想拥有1个不错的exe而不是1个exe + 1个DLL。

由于

4 个答案:

答案 0 :(得分:1)

您可以将dll放入资源中,然后将其写出并动态加载。您必须使用延迟加载并确保在调用其中的任何内容之前将其写出来。

它并没有真正以这种方式链接,但您只需要部署.exe。

答案 1 :(得分:1)

我不确定它是否可以完成。有些问题需要非常细致地处理。

  • DLL中的资源? LIB文件不会保留这些文件,因此您必须将它们导出,然后将它们重新集成到最终的EXE中
  • 谁调用DLLMain,什么时候调用?

Lou Franco的想法会解决所有这些问题,但重要的是要确保不要将解压缩的DLL留在用户的驱动器上。

答案 2 :(得分:0)

在许多情况下,您可以使用这个很酷的库将资源直接从资源加载到内存中:https://github.com/fancycode/MemoryModule

这不完全是你想要的,但它将实现相同的最终目标。

答案 3 :(得分:0)

我在互联网上搜索并找到这个软件,我不测试;
http://www.coderupgrade.com/Dll2StaticLib.exe
http://www.binary-soft.com/dll2lib/d2l.exe