【发布时间】: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