gpt4 book ai didi

c++ - 将旧的 NuGet 包与现代 Visual Studio 工具集结合使用

转载 作者:行者123 更新时间:2023-11-28 05:20:43 27 4
gpt4 key购买 nike

我在 C++ 项目中修补 NuGet 包管理器时遇到了问题。在我的 VS 2017 RC(具有 Platform Toolset v.141)项目中,我添加了两个包——特别是 GLEW 和 GLFW。我成功包含了相应的 header ,但无法链接我的项目 - 显然这些包不是为 VS 2017 构建的。

packages/<package>/build/native/lib有几个v###子文件夹:v100, v110对于 GLEW 和 v100, v110, v120, v140对于 GLFW。据我了解,这些包含针对相应的 VS 工具集编译的二进制文件。如果我从 v141 为我的项目更改平台工具集至 v140 (我还安装了 VS 2015),GLFW 链接错误消失了(因为 VS 从 GLFW 包中找到了相应的二进制文件),但 GLEW 仍然没有链接 - 我也没有 v110工具集,我也不想在那里降级。

有没有办法将旧的 NuGet C++ 包链接到具有现代平台工具集的项目?如果可能的话,我很乐意从源代码构建包 - 只要它保持在某个时候自动管理的 nuget 包。

最佳答案

我们无法将旧的 NuGet C++ 包链接到具有现代平台工具集的项目。

Visual Studio 支持多平台工具集,但现代平台工具集不向后兼容。因此,在 VS 2015 中使用平台工具集 v140 时,GLEW 的 v100、v110 会产生链接错误。

在 Visual Studio 2015 中将 v100、v110 用于 GLEW 的最佳方式是安装 v110 工具集并使用它来维护二进制兼容的遗留代码。

旧平台配置程序的详细信息,请引用: https://msdn.microsoft.com/en-us/library/jj851139.aspx

关于c++ - 将旧的 NuGet 包与现代 Visual Studio 工具集结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41568619/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com