【问题标题】:Visual Studio outputs .obj but not .libVisual Studio 输出 .obj 但不输出 .lib
【发布时间】:2017-03-16 10:39:32
【问题描述】:

我有一个包含 C 和 C++ 代码的大型 Visual Studio 项目。目标扩展是 .dll,配置类型是动态链接库。它可以很好地构建 .dll 并输出大量 .obj 文件。如何让 Visual Studio 给我一个 .lib(对象库)文件而不是大量的 .obj 文件?

我已经尝试过entering a value for the Import Library option,但它并没有改变任何东西。我需要 .lib,因为当我创建一个引用我的 .dll 的新测试程序时,我收到大量 error LNK2001: unresolved external symbol 错误,这表明我需要对象库。

结束投票:这个问题完全在 What topics can I ask here?

【问题讨论】:

  • 如果它创建一个 .dll 而不是一个 .lib,那通常意味着你没有从你的 dll 中导出任何东西。
  • 您将总是获得 .obj 文件,编译器需要创建它们。然后它们被链接以生成最终的 .dll 文件。如果您根本没有看到 .lib 文件,那么您忘记了导出任何内容。使用 __declspec(dllexport) 或 .def 文件。
  • @HansPassant 我需要导出整个项目。我正在尝试创建一个可供其他应用程序使用的库。 Visual Studio 是否可以选择导出整个内容?

标签: c++ c visual-studio visual-studio-2010


【解决方案1】:

您的 dll 是否有任何实际导出?如果没有,则链接器不会生成导入库 .lib 文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    相关资源
    最近更新 更多