【问题标题】:C++ - How to import DLL file permanently? [duplicate]C++ - 如何永久导入 DLL 文件? [复制]
【发布时间】:2012-05-07 10:00:39
【问题描述】:

可能重复:
How to convert a dynamic dll to static lib?

假设我们有一个 DLL 文件。命名为“dllfile.dll”。 我想将它导入我的 C++ 项目(.exe,Dev-C++ 上的控制台应用程序),以便它符合 DLL 文件本身,然后我可以发布它,而无需将 .dll 文件包含在与我的 .exe 文件相同的目录中. 有什么建议吗?

【问题讨论】:

    标签: c++ file dll import


    【解决方案1】:

    为此您需要一个静态库,通常不能为此使用 DLL 编译代码。

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

    【讨论】:

    【解决方案2】:

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

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

    为此,您需要反编译 dll 并将其转换为静态库,这将违反免费软件、专有、GPL 和 LGPL 项目的许可。静态链接 dll 的内容可能会带来问题(CRT 混淆)。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-10
      • 2017-07-25
      • 1970-01-01
      • 2012-05-18
      • 2016-10-28
      • 1970-01-01
      • 2015-12-21
      相关资源
      最近更新 更多