lib-mingw和lib-vc2019有什么区别

时间:2020-07-11 17:43:53

标签: c++ windows

我是Windows编程的新手,发现许多Windows的预构建库都提供了lib-mingw,lib-vc2019,lib-vc2017等库。

任何人都可以指出

  1. 有什么区别?在哪种情况下应该使用哪个库?
  2. 如果我想在Windows上使用Clang,应该使用哪一个?
  3. 为什么这些不同的库在Linux上很少见(假设 Ubuntu),像apt这样的软件包管理器会隐藏此细节吗?换句话说,为什么在Linux平台上没有lib-gcc.a,lib-clang.a这样的东西?

1 个答案:

答案 0 :(得分:1)

  1. Mingw(GCC),VC2019和VC2017是不同的编译器。使用与您的编译器相对应的库。

  2. 我不确定,但我认为它们都不能与Clang一起使用。至少在Linux上,GCC和Clang非常相似。我的意思是它们主要是二进制兼容的,许多相同的编译器标志,许多相同的编译器扩展。 Clang试图使您可以轻松地在构建管道中替换GCC。但是所有这些信息都是针对Linux的。

  3. 这些库在Linux上不可见,因为所有这些编译器都是Windows编译器

您始终可以使用编译器构建一个库,以在您的编译器项目中使用它(如果有源代码的话)。

如果它是第三方封闭源代码库,并且您是付费客户,则可以询问他们是否为您构建了该库。通常最好是在构建管道中添加新的编译器,而不是失去客户。