win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑

这篇具有很好参考价值的文章主要介绍了win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

教程参考:osgEarth源码编译(Win10+VS2019+OSG3.6.5+osgEarth2.10.0)


 

坑1:debug模式下生成osgEarthAnnotation时

错误:xmemory0(881): error C2440: “初始化”: 无法从“std::pair<const _Kty,_Ty>”转换为 to _Objty

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

出错位置:src/osgEarthFeatures/FeatureSourceIndexNode.cpp

解决办法: 参考https://github.com/gwaldron/osgearth/pull/1188/files

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

坑2:LINK : fatal error LNK1181: 无法打开输入文件“optimized.lib”

参考博客:博客园

问题原因:CMake (3+) comes with a built-in FindZLIB.cmake library for locating the ZLib dependency. But it is introducing this problem. So I copied the old FindZLIB.cmake from the OSG distribution into osgEarth/CMakeModules, and the problem disappeared. (CMake3+使用其自己内置的"FindZLIB.cmake"库去寻找ZLib依赖。但是,这引起了当下这个问题。所以,我从OSG库中拷贝了"FindZLIB.cmake"放在了“/osgEarth/CMakeModules”目录下,这个问题就解决了。)

解决方案:从"OpenSceneGraph-3.4.0\CMakeModules"目录下拷贝一份FindZLIB.cmake放到"osgEarth2.7.0\CMakeModules"目录下,然后用notepad++打开该FindZLIB.cmake文件,定位到第13行或附近,找到下图代码,注释掉。

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

然后,重新在cmake-3.17中执行configure,generate,open project。 然后问题就解决了。

扩展(拷贝自博客,未验证): 对于OSG也可以这么操作,由于涉及到此问题的项目较少,所以可以手动删除,找到编译出问题的项目(osgdb_freetype,osgdb_png和osgdb_tiff)属性,顺便删除debug.lib

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

错误根源(拷贝自博客,未验证博客): FREETYPEPNGTIFF插件,在CMake配置的时候,他们"_LIBRARY"后面带了"_DEBUG",而"OpenSceneGraph-3.4.0\CMakeModules\OsgMacroUtils.cmake"的MACRO(LINK_WITH_VARIABLES TRGTNAME)对此加以判断。

通过打印输出可以看到PNG_LIBRARY的内容有错误

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑,编译

参考:

[1] osgEarth源码编译(Win10+VS2019+OSG3.6.5+osgEarth2.10.0) 

[2] 无法打开输入文件“optimized.lib” 编译osgEarth2.8+VS2013+CMake3.4.0在Release版本的问题文章来源地址https://www.toymoban.com/news/detail-744152.html

到了这里,关于win10 + cmake3.17 + vs2017编译osgearth2.7.0遇到的坑的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win10下在Qt中使用VTK(安装VS2017+安装QT5.9.9+编译配置VTK8.2.0)

    作为一个只浅学过C语言和C++的纯小白,在编译VTK(visualization toolkit)并与Qt结合的过程中遇到了很多问题,零零碎碎也看了许多文章教程,但由于版本兼容、过程不完整等问题走了许多弯路,最后东拼西凑勉强完成,故写下这篇文章供大家参考。 本文主要目的是安装vs2017,

    2024年02月11日
    浏览(46)
  • vs2017实现linux远程编译报错“CMake 缺少以下功能:serverMode“解决方案

    背景 window系统vs2017使用cmake实现linux远程调试和编译时,搭建的环境报 CMake 缺少以下功能:“serverMode”。请参阅 https://aka.ms/linuxcmakeconfig 了解详细信息 错误,如何解决? 经排查,发现远程开发环境的cmake版本不支持serverMode模式,因此,无法实现远程编译 解决方案 验证远程目

    2024年02月11日
    浏览(35)
  • centos7 yum 安装 cmake3 version 3.17.5

    安装 验证 第三方仓库 epel 相关信息参考 : 《Centos上安装EPEL》blog.csdn.net/whatday/article/details/89150746

    2024年02月09日
    浏览(46)
  • Win10平台VS2017+OpenCV3.4.0+Qt5.12配置教程

    本文专为图像处理开发项目人员准备,涉及多个软件和库的安装、配置教程,亲测可行。 1、 VS 是美国微软公司(Microsoft)开发的 集成开发环境 “Visual Studio” 的简称,是Windows平台最流行的应用程序集成开发环境。 注意区分:MSVC(Microsoft Visual C++ Compiler)是指微软的VC编译

    2024年02月05日
    浏览(55)
  • win10下vscode+cmake编译C代码操作详解

    当我们只有一个.c文件时直接使用vscode+Code Runner插件即可完成编译,如果我们的工程很复杂包含多个.c文件时建议使用cmake来生成对应的make,指导编译器完成编译,否则会提示各种错误,如下: 实际上这些函数都是包含在其它.c文件里的,由于vscode的Code Runner插件只支持编译

    2024年01月20日
    浏览(38)
  • Openssl数据安全传输平台003:Protobuf-3.17.2的编译-Windows:cmake+VS2022/ Centos7/8: make

    https://github.com/Chufeng-Jiang/OpenSSL_Secure_Data_Transmission_Platform/tree/main/Protobuf 0.2.1 Centos7 https://www.bilibili.com/video/BV1we411R7sS/?vd_source=3353f83539e46042d8cf76efb177a8e4 06-Protobuf在Centos7系统上的安装:版本protobuf3.17.2 0.2.2 windows https://www.bilibili.com/video/BV1rw411X7mY/?spm_id_from=333.999.0.0vd_source=3353f8353

    2024年02月06日
    浏览(59)
  • Windows10中使用VS2022和Cmake编译构建C++开源日志库-spdlog

    Java中有很多日志库:java.util.logging、Log4j、Logback、Log4j2、slf4j、common-logging。C++的日志库相对来说就比较少了,比如说glog、log4cpp、spdllog等,目前个人感觉比较好用的C++开源日志库当属于spdlog了,跨平台,支持cmake编译,在维护中。 具体可以参考github上面的示例:https://github

    2023年04月17日
    浏览(83)
  • Openssl数据安全传输平台003:Protobuf-3.17.2的编译与部署:Windows:cmake+VS2022/ Centos7/8: make

    https://github.com/Chufeng-Jiang/OpenSSL_Secure_Data_Transmission_Platform/tree/main/Protobuf 0.2.1 Centos7 https://www.bilibili.com/video/BV1we411R7sS/?vd_source=3353f83539e46042d8cf76efb177a8e4 06-Protobuf在Centos7系统上的安装:版本protobuf3.17.2 0.2.2 windows https://www.bilibili.com/video/BV1rw411X7mY/?spm_id_from=333.999.0.0vd_source=3353f8353

    2024年02月07日
    浏览(46)
  • VS2019编译OSG3.7.0+OSGEarth3.3+OSGQt

    网上搜索发现关于这几个库编译过程的文章甚至要订阅才能看,在此做个详细记录。 这里使用的 cmake-3.18.3 、 VS2019 和 Qt5.15.2 进行编译。 下载不多赘述,在github上下master版本就是3.7.0版本。 另外还需要 3rdParty_VS2017_v141_x64_V11_full 和 OpenSceneGraph-Data-3.4.0 可以在OSG英文官网中下载

    2023年04月08日
    浏览(46)
  • Jpeg-9e源码编译(Win10,VS2022)

    Jpeg-9e源代码下载网址 http://www.ijg.org/ 下载后得到文件 解压缩到“D:SourceCodesjpeg-9e” 在目录“D:SourceCodesjpeg-9e”中创建文本文件,并改名为“win32.mak”,其内容如附注所示。 使用命令行,进入VS2022开发者命令行窗口 cd D:ProgramsMicrosoft Visual Studio2022CommunityVCAuxiliaryBuild D

    2024年02月04日
    浏览(54)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包