问题描述
我正在创建一个需要使用 libpng 的解决方案。我通过 Visual Studio 2019 的 Nuget 包管理器安装了这个库及其依赖项,包括
解决方法
自动 nuget 无法将 lib 依赖项添加到 Linker 的问题是 c++ nuget 用于 v140
和 v120
构建工具。如果您的项目是由 VS2019 创建的,VS 默认使用 v142
构建工具(用于 VS2019)。
您可以检查 nuget 包 targets
中的 <solution_folder>\packages\libpng.1.6.28.1\build\native\libpng.targets
文件(自动导入 lib 的方法)。
所以这个文件找不到V140
和V120
,(你的VS2019使用V142
)使条件为假,这样自动导入lib永远失败.这就是原因。
V140 是 VC++2015 build tool
而 V120 是 VC++ 2013 build tool
。
如果您的PC已经安装了VS2015和VS2013,您可以通过右键单击项目属性来更改VS0219的构建工具-- >配置属性-->常规--> 将 Platfrom 工具集 更改为 Visual Studio 2015(v140)。
为了更好的解决方案
如果您的 PC 只有 VS2019 并且还有更好的解决方法,
您应该安装 libpng-v142 nuget 包,它适用于 VS2019 VC++。