问题描述
- 下载失败。
- 编译libspatialite库失败,错误提示如下。
cl : Command line warning D9025 : overriding '/W4' with '/W3' NMAKE : fatal error U1077: 'copy' : return code '0x1' Stop.
if exist spatialite.dll.manifest mt -manifest spatialite.dll.manifest -outputresource:spatialite.dll;2 mkdir E:\\C++Projects\\vcpkg\\packages\\libspatialite_x64-windows\debug mkdir E:\\C++Projects\\vcpkg\\packages\\libspatialite_x64-windows\debug\bin mkdir E:\\C++Projects\\vcpkg\\packages\\libspatialite_x64-windows\debug\lib mkdir E:\\C++Projects\\vcpkg\\packages\\libspatialite_x64-windows\debug\include mkdir E:\\C++Projects\\vcpkg\\packages\\libspatialite_x64-windows\debug\include\spatialite copy *.dll E:\\C++Projects\\vcpkg\\packages\\libspatialite_x64-windows\debug\bin The syntax of the command is incorrect.
- 编译出的osg没有没有示例程序。
解决方案:
- 科学上网,选自动配置系统代理,然后可以使用
vcpkg install osg:x64-windows --only-download
指令先下载,然后再编译,防止网络波动。 - 这个问题网上找了很长时间,都没能解决,最后在github上提了个Issues #36008,别人告诉我去掉路径中的++,重新编译后终于通过了。
- 在编译osg时需要在
vcpkg install osg[]:x64-windows
的中括号中填写需要一起编译的选项,如:
vcpkg install osg[tools,plugins,examples,collada,fontconfig,freetype,nvtt]:x64-windows
,如果需要修改opengl接口版本需要在CMakeLists.txt中添加set(osg_OPENGL_PROFILE "GL3")
,或在ports中将portfile.cmake中将GL2修改为GL3,最好不要用GL3,我用GL3之后运行osgviewer cow.osg
无法加载贴图了,目前还不知道怎么解决。