How do I build an import library (.lib) AND a DLL in Visual C++?(如何在 Visual C++ 中构建导入库 (.lib) 和 DLL?)
问题描述
我想要一个单独的 Visual Studio 项目来构建一个 DLL 文件和一个导入库 (.lib) 文件.(导入库是一个静态链接库,负责在其他使用它的项目中加载该 DLL 文件.
I want to have a single Visual Studio project that builds a DLL file and an import library (.lib) file. (An import library is a statically-linked library that takes care of loading that DLL file in other projects that use it).
于是我去了Visual Studio C++ 2008 Express Edition,创建了一个类库类型的新项目,并将配置类型"设置为动态库(.dll)".
So I went to Visual Studio C++ 2008 Express Edition, created a New Project of type Class Library, and set the "Configuration Type" to be "Dyanamic Library (.dll)".
但是当我构建解决方案时,我看到的唯一相关输出文件是一个 DLL 文件;我没有看到生成任何 LIB 文件.我查看了项目目录和所有子目录(Release 和 Debug).
But when I build the solution, the only relevant output file I see is a DLL file; I don't see any LIB file getting generated. I looked in the project directory and all subdirectories (Release and Debug).
我相信可以同时构建 LIB 和 DLL 文件,因为 在 MSDN 上它说链接器在构建 DLL 时创建导入库." 另外,该网站的另一个用户正在使用 Visual C++ 同时创建 LIB 和 DLL 文件.
I believe that it is possible to build a LIB and a DLL file at the same time because on the MSDN it says "The linker creates the import library when the DLL is built." Also, another user of this website is creating LIB and DLL files at the same time using Visual C++.
那我该怎么办?
推荐答案
通过选择类库",您无意中告诉它使用 C++ 的 CLI(托管)扩展来制作 .Net 库.
By selecting 'Class Library' you were accidentally telling it to make a .Net Library using the CLI (managed) extenstion of C++.
相反,创建一个 Win32 项目,然后在下一页的应用程序设置"中选择DLL".
Instead, create a Win32 project, and in the Application Settings on the next page, choose 'DLL'.
如果你想走那条路,你也可以从这些库选择中制作 MFC DLL 或 ATL DLL,但听起来你没有.
You can also make an MFC DLL or ATL DLL from those library choices if you want to go that route, but it sounds like you don't.
这篇关于如何在 Visual C++ 中构建导入库 (.lib) 和 DLL?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何在 Visual C++ 中构建导入库 (.lib) 和 DLL?


基础教程推荐
- C++结构和函数声明。为什么它不能编译? 2022-11-07
- 我有静态或动态 boost 库吗? 2021-01-01
- 如何在 C++ 中初始化静态常量成员? 2022-01-01
- 如何通过C程序打开命令提示符Cmd 2022-12-09
- 如何检查GTK+3.0中的小部件类型? 2022-11-30
- 常量变量在标题中不起作用 2021-01-01
- 在 C++ 中计算滚动/移动平均值 2021-01-01
- 如何将 std::pair 的排序 std::list 转换为 std::map 2022-01-01
- 静态库、静态链接动态库和动态链接动态库的 .lib 文件里面是什么? 2021-01-01
- 这个宏可以转换成函数吗? 2022-01-01