【问题标题】:add two dll's to msvc 2010 application向 msvc 2010 应用程序添加两个 dll
【发布时间】:2010-12-27 14:55:47
【问题描述】:

我正在尝试在我的应用程序中使用 libcurl 库。 当我启动我的应用程序时,它要求提供 libcurl.dll 和 zlib1.dll 存在于同一文件夹中。当我添加它们时一切正常,但我想包括 将它们添加到可执行文件中。

如何将两个 dll 静态添加到应用程序中?

【问题讨论】:

    标签: c++ visual-c++ curl libcurl


    【解决方案1】:

    您不能将 dll 静态链接到可执行文件中。动态库的目的是在运行时从外部图像(dll 文件)动态加载。您应该检查 curl 和 zlib 是否提供正确的静态库并链接它们而不是 dll 的 lib 存根。

    考虑到链接到静态外部库会使您的二进制文件可能容易受到静态链接 blob 中的任何安全问题的影响。这意味着您必须更新静态链接到这些库的任何二进制文件,而不是简单地更新库本身。

    【讨论】:

    • 那么我目前使用的是非静态库吗?
    • Visual Studio 理解两种类型的链接库:直接链接到编译结果的纯静态库文件或简单地将请求代理到适当 dll 文件的“存根”库文件。您正在使用后者。我在curl.haxx.se/download.html 上为您查看了 libcurl 的 msvc zip,并且 lib 文件夹中有一个静态 lib 文件。您必须指定它而不是您现在在项目属性中拥有的内容。 zlib 文件也一样。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多