c++ - 如何在 Visual C++ 中同时创建 .lib 文件和 .exe 文件?

标签 c++ visual-c++ linker static-libraries

我目前有一个创建 .exe 文件的控制台项目;我希望它还创建一个 .lib 文件,以便其他项目(编译为 DLL)能够调用原始项目中的函数。

我知道这是可能的,但我找不到如何做到这一点。如何告诉链接器也链接一个 .lib?

最佳答案

仅作为引用发布我知道原始帖子是很久以前发布的,但这仍然适用于需要解决此问题的任何人。

转到您要为其创建 .lib 文件的项目并按照以下步骤操作:

  1. 右键单击项目。
  2. 选择属性。
  3. 选择构建事件。
  4. 选择预链接事件。
  5. 最后在命令行中粘贴:

    @ECHO ON @ECHO "$(VC_ExecutablePath_x86)\lib.exe"/out:"$(OutDir)$(ProjectName).lib""$(IntermediateOutputPath)*.obj" "$(VC_ExecutablePath_x86)\lib.exe"/out:"$(OutDir)$(ProjectName).lib""$(IntermediateOutputPath)*.obj"

这将调用lib工具从生成的目标文件中生成lib文件。

关于c++ - 如何在 Visual C++ 中同时创建 .lib 文件和 .exe 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2658215/

相关文章:

c++ - 是否可以让一个 vector 指向其他 vector 的子集?

带有 clang 的 C++ 11 线程

c++ - 如何将.lib 导入.dll?

c - 你实际上是如何使用 C 库的?

c++ - 应该始终调用 glfwDestroyWindow 吗?

c++ - ORA-00904 : "E_MAIL": invalid identifier

c++ - DLL线程安全

c++ - 视觉 C++ : Compiler Error C4430

c - 如何链接一个在C中从未被引用的函数

c - 使用 Make 编译 C 代码时出错 'ld: symbol(s) not found for architecture x86_64'