2012-05-07 45 views

回答

1

你需要一个静态库,你不能在一般情况下使用DLL编译的代码。

如果您有DLL的源代码,您应该能够将其编译为静态库并链接到该库。这将导致不依赖于该库的DLL文件。

+0

你说如果你没有源代码,你不能静态的喜欢吗? –

+0

有一些工具,如http://www.binary-soft.com/dll2lib/dll2lib.htm – Tibor

+0

@Tibor:是的,并且有最终用户许可协议必须得到遵守。 – SigTerm

0

我可以在不包含.dll文件的情况下将其发布到与我的.exe文件相同的目录中。

一般来说,你不能那样做。

要做到这一点,你需要反编译DLL并将其变为静态库,这将违反免费软件,专有,GPL和LGPL项目的许可证。与静态内容的dll链接可能会引入问题(CRT混合)。

或者你可以试图获得静态库版本的库DLL的代表,并静态链接。这可能不适用于专有项目(除非你愿意付出很多,他们愿意出售),免费软件项目,不能用于GPL/LGPL dll(静态链接=>派生工作=>您的项目是现在GPL/LGPL,这可能不是你想要的)。