【问题标题】:VS2010 linker error, looking for a .lib of a .dll fileVS2010链接器错误,寻找.dll文件的.lib
【发布时间】:2012-03-05 17:08:14
【问题描述】:

我正在 Visual Studio 2010 中构建 Visual C++ 6.0 工作区,以便更新一些依赖项

我有它正在寻找的所有文件和 dll,它会构建,但在链接时失败并出现此错误

1>LINK : fatal error LNK1181: cannot open input file '\Projects\exe\CRelease/api.lib'

我有它需要构建的 api.dll,但我没有它的 .lib 文件版本。即使我这样做了(比如我以某种方式将 .dll 转换为 .lib),我也不知道将它放在目录结构中的什么位置

我该如何“解决”这个问题?

感谢指导,谢谢

【问题讨论】:

    标签: visual-studio-2010 dll linker linker-errors workspace


    【解决方案1】:

    通常api.dll 会附带一个名为api.lib 的导入库,这是您需要链接到的。导入库不同于 api 的静态编译版本(也可能称为 api.lib) - 它更像是 dll 提供的可用函数列表,因此通常比相应的要小得多静态库。

    如果您确实找到或获得了api.lib,那么它位于何处并不重要,只要您的链接器可以访问它即可。

    如果您没有找到导入库,您正在考虑在代码中显式加载和卸载 api.dll 的显式运行时链接,并且通过函数指针调用 api 的导出函数.

    【讨论】:

    • 要么在Configuration Properties->Linker->Input->Additional Dependencies 中提供API.lib 的完整路径,要么在Configuration Properties->Linker->General->Additional Library Directories 中提供CRelease 的完整路径,然后在Configuration Properties->Linker->Input->Additional Dependencies 中提供API.lib(不是\Projects\exe\CRelease/API.lib) .
    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 2012-08-12
    • 1970-01-01
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多