Compilation 无法在Ubuntu 16.10上从源代码编译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:../../src/common/ml_mesh_type.h:4:33:致命错误: vcg/complex/complex.h:没有这样的文件或目录#包含 ^编译终止 实际上,没有vcg文件夹。我怎么得到它 谢谢,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
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)