Compilation 无法在Ubuntu 16.10上从源代码编译MeshLab

Compilation 无法在Ubuntu 16.10上从源代码编译MeshLab,compilation,meshlab,Compilation,Meshlab,我已经下载了MeshLab源代码,并将我的Qt安装更新为最新版本(Qt Creator 4.2.0构建于2016年12月9日)。在我第一次尝试编译meshlab_full项目时,我发现我必须将plugins_experimental下的io_txt文件夹重命名为io_txt。但在此之后,它将失败,并出现以下错误: 在.././src/common/meshmodel.h:32:0中包含的文件中, from.././src/common/filterparameter.cpp:32:../../s

我已经下载了MeshLab源代码,并将我的Qt安装更新为最新版本(Qt Creator 4.2.0构建于2016年12月9日)。在我第一次尝试编译meshlab_full项目时,我发现我必须将plugins_experimental下的io_txt文件夹重命名为io_txt。但在此之后,它将失败,并出现以下错误:

在.././src/common/meshmodel.h:32:0中包含的文件中, from.././src/common/filterparameter.cpp:32:../../src/common/ml_mesh_type.h:4:33:致命错误: vcg/complex/complex.h:没有这样的文件或目录#包含 ^编译终止

实际上,没有vcg文件夹。我怎么得到它

谢谢,
Rich

您需要获取vcg库。它必须与您的meshlab目录处于同一级别:

yourdevelfolder/
 |
 ├──meshlab
 │   ├──docs
 │   ├──README.md
 │   ├──src
 │   ├──...
 │   └──...
 └──vcglib
     ├──apps
     ├──doc
     ├──eigenlib
     ├──...
     └──...
然后必须获取vgclib源:

$ git clone https://github.com/cnr-isti-vclab/vcglib.git
$ cd vcglib
$ git checkout devel
编译说明为更新 正如@AlessandroMuntoni所评论的,我们可以使用
--recursive
选项,VCG将自动作为子模块提供:

git clone --recursive https://github.com/cnr-isti-vclab/meshlab
原职 在
meshlab.pro
中,注释如下:

# MESHLAB_SOURCE_DIRECTORY: the directory where is placed the main meshlab.pro
general.pri
中设置:

# VCG directory
VCGDIR = $$MESHLAB_SOURCE_DIRECTORY/../vcglib
因此,我分叉并克隆了内部:


这对我有用=)

谢谢埃里克-我感谢你的帮助;)我下载了vcg文件并将它们放在正确的位置,然后构建了external.pro项目。这让我克服了以前看到的错误,但仍然无法构建meshlab full或mini。我得到的错误是“error:'ColorConverter'尚未声明”。我已经做了大量的调查,不知道ColorConverter是Qt还是MeshLab。你有什么见解吗?谢谢,请提供一些详细的日志。vcglib可能不在合适的位置。我遇到的vglib的主要问题是我没有签出到devel分支。很抱歉@Eric的延迟-我必须找到一个合适的方法来共享编译器输出。给你:谢谢!将
meshlab-2016.12
目录重命名为
meshlab
。您必须在
/home/rich/Downloads/3dTools/meshlab/Source
中找到
meshlab
vglib
目录。以下是我编译的日志:
cd common/&(test-e Makefile | | | |/opt/Qt/5.7/gcc@u/bin/qmake/home/eric/dev/3D/meshlab/meshlab/src/common/common.pro-spec linux-g++CONFIG+=debug-CONFIG+=qml|debug-o Makefile)&&make-f Makefile-make[1]:在entre dans le répertoire«/home/eric/dev/3D/meshlab/meshlab/build-meshlab_full-Desktop_Qt_5_7_1_GCC_64bit-Debug/common»
再次感谢@eric。这让我走得更远,但现在我有一个不同的错误。编译输出:这是我的文件夹结构:我需要在不同的注释中继续…现在,vglib是meshlab的一个子模块。克隆meshlab时,只需使用标志
--recursive
 |
 └──meshlab (Git clone)
     ├──docs
     ├──README.md
     ├──src (`meshlab.pro` is inside this)
     ├──...
     ├──...
     └──vcglib (Git clone)