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

标签 c++ dll visual-studio-2017 visual-studio-2019

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

带有/ GL的

  • VS2019指的是不带/ GL的VS2017 .dll + .h + .lib
  • 不含/ GL的
  • VS2019表示使用/ GL
  • 构建的VS2017 .dll + .h + .lib
    带有/ GL的
  • VS2019表示使用/ GL
  • 构建的VS2017 .dll + .h + .lib

    就这个想法而言,它应该可以正常工作,但我不确定100%。有没有人有这样的经验?

    最佳答案

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

    您应确保所有静态库都使用相同的标志构建,否则整个程序优化将无法进行,在这种情况下,编译器会显示警告。

    关于c++ - 根据GL标志的Visual Studio 19-17库兼容性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59891970/

    相关文章:

    wcf - 如何在 Visual Studio 2017 中创建 WCF 服务库项目?

    javascript - 源代码管理中的 Visual Studio 2017 文件

    c++ - 错误 : [typedef inside a class] does not name a type

    c# - 如何使用 nuget 包资源管理器创建包含发布和调试 dll 的 nuget 包?

    c# - 如何连接 Youtube 视频(Flash Player?)以减慢播放速度?

    .net - 无法加载文件或程序集 X 或其依赖项之一。不是有效的Win32应用程序。 (HRESULT : 0x800700C1)

    c++ - 如何找到 map 的中间元素?? STL

    c++ - 从方法参数推断模板

    c++ - 为什么我无法访问语义操作中的值?

    visual-studio-2017 - 从 netstandard 转换为框架后,Visual Studio 2017 不将 csproj 视为有效的项目文件