【问题标题】:Linking library (.lib) and (.dll) in visual stucio c++ 2008Visual Studio C++ 2008 中的链接库(.lib)和(.dll)
【发布时间】:2015-05-17 11:35:50
【问题描述】:

我已经使用 Visual Studio 2008 生成了我的 libmodbus library。我可以看到 .dll 和 .lib 文件。

现在在我的项目中,如果我配置我的项目,我可以使用这个库:

  1. 链接器附加目录。 (.lib 文件夹)
  2. 其他库(.lib 文件)
  3. C/C++ 附加目录。 (库代码路径)

通过此步骤,一切正常。

但是,是否可以在没有源代码的情况下做同样的事情?仅使用我生成的 .dll 和 .lib 文件?

【问题讨论】:

  • 您是在构建 DLL 本身吗?如果是这样,那么您当然需要源代码来构建它。您是否正在编写将在运行时使用 DLL 的代码?然后,您不需要 DLL 的任何源代码——您所需要的只是 .lib 导入库。即使这样,您也不需要导入库,因为使用 LoadLibraryGetProcAddress 允许您在运行时调用 DLL 函数。
  • 谢谢。我想在不使用 LoadLibrary 的情况下使用该库。我可以移动 .lib .dll 和 .h 文件。

标签: c++ visual-studio dll


【解决方案1】:

使用 dll 不需要源文件。您所需要的只是 .dll 文件。但在这种情况下,您应该手动获取每个使用函数的地址。你可以找到here的寡妇示例。

获取每个函数的地址不是很方便。因此,您可以使用 .lib 文件和头文件 (.h)(但不能使用源文件)。在C/C++ Additional directories 中你应该指定头文件的路径。

这样你就可以配置你的项目了:

  1. 链接器附加目录。 (.lib 文件夹)
  2. 其他库(.lib 文件)
  3. C/C++ 附加目录。 (库标题路径)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 2013-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多