项目包含的库文件多于dll文件
Project contains more lib than dll files
我试着去理解我下载的一个visual studio项目。有两个文件夹:bin和lib文件夹。lib目录下的lib文件数大于bin目录下的dll文件数
我认为每个dll文件都可以有一个lib文件(目标文件库)。因此,项目中lib文件的数量等于或低于dll文件的数量。但在下载的项目中,情况正好相反?原因是什么?有些lib文件是静态链接的吗?
非常感谢你的帮助
当然有些lib没有相应的dll。如果你将你的项目类型设置为"静态库",你的输出将是一个只能静态链接到另一个库、dll或exe的lib文件。
当你创建一个dll时,一个lib文件被自动创建,它负责方便地包装LoadLibrary
和GetProcAddress
调用。你静态链接到这个库,它会为你加载dll。
没有DLL的库在编译时被静态链接到exe中,而DLL则被编译到它们自己的DLL文件中。dll通常最好允许在不替换exe的情况下编译和交换dll。然而,有些项目只有静态链接的库,这导致一个更大的exe没有dll。
相关文章:
- 挂起和取消挂起一个文件DLL
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 将 dll 文件注入 UWP
- 加载"D:UsersPublicDocumentsopencvbuildx64vc14binopencv_world340d.dll",找不到或打开PDB文件
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- 错误:当我从"WinDbg"打开可执行文件时,找不到符号文件。默认导出 ntdll 的符号.dll
- 在使用 Clang 编译 DLL 时指定 DEF 文件
- 从 .lib 文件创建一个.dll文件
- 可执行文件C++包括.obj,.lib和.dll吗?
- python37.dll在可执行文件中未链接
- 链接器找不到导入的 DLL 的 LIB 文件
- DLL:当 SDK 头文件不使用 __declspec(dllexport) 时,我可以使用它吗
- sf::Windows上的音乐:api-ms-win-crt-locale-l1-1-0.dll:无法打开共享对象文件
- 如何在 CMake 超级生成中查找 dll/so 文件
- 在任何平台上执行任何Qt5应用程序的重要dll文件是什么(运行时文件dll)
- 在C++的应用程序中包括文件(dll,txt等.exe
- 反编译文件.dll
- 另一台电脑上的C++程序所需的文件/DLL