首页 > 解决方案 > 视觉工作室并链接到预编译的二进制文件(lib / dll)

问题描述

一些库可以作为预编译的二进制文件下载,通常在特定架构(x32 或 x64)中,但我也注意到一些预编译的二进制文件是根据 Visual Studio 版本拆分的,例如:vc17_x64。假设我使用的是 Visual Studio 2019。这是否意味着我必须使用为 vc2019 预编译的二进制文件或在没有合适版本时从源代码构建库?我不清楚,因为一些预编译的二进制文件不包含有关 Visual Studio 版本的信息。

标签: windowsvisual-studiovisual-c++dlllib

解决方案


如果预编译库具有 Visual Studio 版本信息,则应使用该版本的 Visual Studio 来处理该库。但情况并非总是如此,因为经常发生的情况是,较旧的(相对于 VS 版本)库包含的代码是较新 VS 的头文件和运行时 SDK 文件(.NET、C/C++、Windows SDK 等)的子集)。反过来,当图书馆较新时也可以工作,但距离较远不那么频繁。您可以尝试,如果它不适用于您的特定库和 VS 版本,那么您应该考虑匹配版本,由于代码更改的相同原因,重建并不总是有效。如果库不包含 VS 版本信息,那么可以合理地假设它可移植/兼容操作系统(Windows、Linux 等)和编程语言版本(C++ 11、C++ 14、C# 7、C# 8 等) . 然而,VS 版本也在这里发挥作用,不是每个 VS 都在每个 Windows 中运行,它也不支持相同的运行时、SDK 和语言版本。您应该始终检查库文档以了解推荐的工作环境,如果此信息不存在,则它是反复试验和/或社区咨询。


推荐阅读