编译MeshLab(4)—VS2010编译MeshLab源码之编译meshlab_full.pro

2024-03-02 18:18

本文主要是介绍编译MeshLab(4)—VS2010编译MeshLab源码之编译meshlab_full.pro,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


在编译好了mini工程之后,我们接着编译meshlab_full.pro,但是由于该项目的工程文件太多,我们需要批量操作~

第一个common不选,选中第二个工程文件,按住Shift按键,拖动到最后的工程文件,右键选择属性,这样我们就可以批量改变属性了!~

这里写图片描述

注意不要将<不同选项>删除了~


编译filter_csg

编译完了之后,发现又出现了错误,前面的无法打开文件common.lib先不用管~

这里写图片描述


定位到错误3445,这个错误是说缺少mpirxx.lib,确实,在指定的路径下确实没有改文件;这个错误对应的工程文件是filter_csg,打开附加依赖项:

这里写图片描述


红色方框中的lib文件确实是不存在的,我们需要去下载:mpirxx,我下载的是2.2.1版本;

下载完后,解压发现我们还需要自己去编译(真蛋疼~);这里我直接共享给大家我编译出来的lib文件百度云链接,如果你喜欢自己编译的话,也可以自己查找资料去编译~

然后将这两个lib放到..\external\lib\win32-msvc2010路径下,当然你也可以自定义,只要记得将lib的路径配置到就行~

这里写图片描述


重新编译,又出现新的错误:

这里写图片描述


右键选择属性—》链接器—》命令行,在其他选项中输入/FORCE:MULTIPLE;这个是网上找的,大家想要知道原理,自行百度~

这里写图片描述

接下来编译就成功了!~


编译io_3ds

接下来看下一个错误4105后面的错误和这个错误都是一个原因,就是lib3ds这个库是有问题滴~

定位到meshlab\src\external\lib3ds-1.3.0\lib3ds\type.h文件,打开该文件,输入define LIB3DS_EXPORTS

这里写图片描述


然后重新打开external.pro文件,重新编译3ds项目:

这里写图片描述


然后将生成的lib库添加到io_3ds项目中

这里写图片描述

重新编译io_3ds项目就OK了!~


解决了两个主要的错误,下面我们再来看上面的无法打开common.lib,事实上该lib文件是存在的~

出现这10个错误的工程文件分别是:

  1. edit_arc3D
  2. edit_manipulators
  3. edit_referencing
  4. filter_createiso
  5. filter_geodesic
  6. io_m
  7. io_txt
  8. sampleedit
  9. samplefilter
  10. samplefilterdyn

但是当我们每一个工程文件单独生成的时候都是不会出现该错误的~!暂时不知道为什么,但是程序已经全部编译成功了!~


效果

相比于mini版本多了很多的工具!~

这里写图片描述


番外

上一篇文章编译MeshLab(3)—编译MeshLab源码之编译meshlab_mini.pro的最后我有说到一个bug,尽管编译都成功了,但是还是不能运行程序:

这里写图片描述

这个问题的根本原因是当时我的电脑没有安装显卡驱动~如果你的电脑也没有安装出现了这个问题,那么安装个显卡驱动就好了(我灵光一闪想到的)~

这篇关于编译MeshLab(4)—VS2010编译MeshLab源码之编译meshlab_full.pro的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/767003

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

Python实现无痛修改第三方库源码的方法详解

《Python实现无痛修改第三方库源码的方法详解》很多时候,我们下载的第三方库是不会有需求不满足的情况,但也有极少的情况,第三方库没有兼顾到需求,本文将介绍几个修改源码的操作,大家可以根据需求进行选择... 目录需求不符合模拟示例 1. 修改源文件2. 继承修改3. 猴子补丁4. 追踪局部变量需求不符合很

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

IDEA编译报错“java: 常量字符串过长”的原因及解决方法

《IDEA编译报错“java:常量字符串过长”的原因及解决方法》今天在开发过程中,由于尝试将一个文件的Base64字符串设置为常量,结果导致IDEA编译的时候出现了如下报错java:常量字符串过长,... 目录一、问题描述二、问题原因2.1 理论角度2.2 源码角度三、解决方案解决方案①:StringBui

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

MySQL报错sql_mode=only_full_group_by的问题解决

《MySQL报错sql_mode=only_full_group_by的问题解决》本文主要介绍了MySQL报错sql_mode=only_full_group_by的问题解决,文中通过示例代码介绍的非... 目录报错信息DataGrip 报错还原Navicat 报错还原报错原因解决方案查看当前 sql mo

解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题

《解决IDEA使用springBoot创建项目,lombok标注实体类后编译无报错,但是运行时报错问题》文章详细描述了在使用lombok的@Data注解标注实体类时遇到编译无误但运行时报错的问题,分析... 目录问题分析问题解决方案步骤一步骤二步骤三总结问题使用lombok注解@Data标注实体类,编译时

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Ubuntu 24.04 LTS怎么关闭 Ubuntu Pro 更新提示弹窗?

《Ubuntu24.04LTS怎么关闭UbuntuPro更新提示弹窗?》Ubuntu每次开机都会弹窗提示安全更新,设置里最多只能取消自动下载,自动更新,但无法做到直接让自动更新的弹窗不出现,... 如果你正在使用 Ubuntu 24.04 LTS,可能会注意到——在使用「软件更新器」或运行 APT 命令时,