Visual Studio 19-17 库兼容性根据 GL 标志

Visual Studio 19-17 libraries compatibility according to GL flag

本文关键字:GL 标志 兼容性 Studio 19-17 Visual      更新时间:2023-10-16

我在VS2010中有一个相当大的C++解决方案,我将将其升级到VS2017或VS2019(2019更可取((很明显,我必须重建所有第三方等(另外,我在VS2017上有一个C++解决方案,它不会更新到VS2019,并且我有可能将动态库(这意味着.h + .lib + .dll(从这个sln到主sln。 两种解决方案中的某些项目部分都使用/GL 标志,所以恐怕:不会有问题吗? 例如:

带有/GL 的 VS2019
  1. 是指在没有/GL 的情况下构建的 VS2017 .dll + .h + .lib
  2. 不带/GL 的 VS2019 是指使用/GL 构建的 VS2017 .dll + .h + .lib
  3. 带有/GL 的 VS2019 是指使用/GL 构建的 VS2017 .dll + .h + .lib

关于这个想法,它应该可以正常工作,但我不是 100% 确定。有人有这样的经历吗?

整个程序优化不会影响 dll 的 ABI。 "程序"在这里是指 dll 或可执行文件。不会跨 dll 边界执行优化。

您应该确保所有静态库都使用相同的标志构建,否则整个程序优化将不起作用,在这种情况下,编译器会打印警告。