在安装了vcpkg,并编译了osgEarth后,osgEarth工程中所有依赖项vs2019会自动默认生成最新,解决办法

前言

 ## 问题描述

 在安装了vcpkg,并编译了osgEarth后,osgEarth工程中所有依赖项:
 (1)hdf.dll
 (2)hdf5.dll
 (3)hdf5_cpp.dll
 (4)hdf5_hl.dll
 (5)hdf5_hl_cpp.dll
 (6)libmatio.dll
 (7)matioCpp.dll
 (8)netcdf.dll
 (9)zlib1.dll
 这些osgEarth依赖项,是基于当前osgEarth版本的,如果你的本机编译了osgEarth新版本,那么这些dll将是依赖新版本osgEarth生成的,举个栗子,以前你的工程用osgEarth2.80版本,现在你的机器上又编译了osgEarth3.2版本,那么这些dll将依赖你的osgEarth版本,如果你机器上安装了vcpkg,vcpkg会默认使用osgEarth3.2版本,那么之前osgEarth2.8的工程就会报错

在这里插入图片描述
我在安装了vcpkg,并编译了新的osgEarth3.2版本后,同样的工程生成的dll库变成新的了
在这里插入图片描述

解决

之前使用osgEarth2.8编译运行,现在使用vcpkg编译了osgEarth3.2,然后之前使用osgEarth2.8的程序都无法运行了,报错如下:
在这里插入图片描述
解决方法:
在vs2019项目工程属性:vcpkg
在这里插入图片描述
全部改成否
在这里插入图片描述

使用osgEarth加载场景
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/aoxuestudy/article/details/121331699