需要有:
CMake: 3.0 or newer
QT:CloudCompare 2.7 requires Qt version 5.5 or newer
Make sure you have a C++11 compliant compiler (gcc 4.7+ / clang / Visual 2013 and newer)
编译过程:
- 打开cmake,选择build和源码地址,点击configuration;
-
QT5_ROOT_PATH 注意设置, e.g. Qt\5.6\msvc2013_64
-
Option中选择OPTION_MP_BUILD,其他不用勾选
-
Install中的插件都可以不用勾选
-
最后
CMAKE_INSTALL_PREFIX
选择你需要install的目录 -
最后点击Generate
Additional optional CMake setup steps
[Optional] Setup for the qPoissonRecon plugin
- The version of the Poisson Surface Reconstruction library (M. Kazhdan et al.) used by the is https://github.com/cloudcompare/PoissonRecon. It is declared as a submodule of CC's repository. You have to explicitly synchronize it (see https://git-scm.com/docs/git-submodule).
- Then simply check the INSTALL_QPOISSON_RECON_PLUGIN option in CMake
[Optional] Setup for LibLAS support
If you want to compile CloudCompare (and ccViewer) with LAS/LAZ files support, you'll need:
- LibLAS (last tested version: 1.8 on Windows)
- and optionally laszip for LAZ files support (last tested version: 2.2.0 on Windows) --> prefer the static version (
BUILD_STATIC
in LASzip CMake configuration) and mind theWITH_STATIC_LASZIP
option in libLAS CMake configuration! (only appears in 'Advanced' mode) - Boost multi-thread static libraries
- make the
BOOST_ROOT
environment variable point to your Boost installation before launching CMake in order for the automaticfind_package
script to work properly - otherwise refer to LibLAS documentation for more directions
Then, the CloudCompare CMake project will request that you set the 3 following variables:
LIBLAS_INCLUDE_DIR
: LibLAS include directory (pretty straightforward ;))LIBLAS_RELEASE_LIBRARY_FILE
: main LibLAS release library (the .lib or .a file itself!)- [Windows]
LIBLAS_SHARED_LIBRARY_FILE
: full path to theliblas.dll
file
For the moment, only the release version of CloudCompare supports LibLAS files
[Optional] Setup for LibE57 support
If you want to compile CloudCompare (and ccViewer) with LibE57 files support, you'll need:
Xerces-C++ multi-thread static libraries
- On Visual C++ (Windows):
- select the
Static Debug
orStatic Release
configurations - you'll have to manually modify the
XercesLib
project options so that theC/C++ > Code Generation > Runtime Library
are of DLL type in both release and debug modes (i.e./MD
in release or/MDd
in debug) - for 64 bits version be sure to select the right platform (x64 instead of Win32). If you use Visual Studio Express 2010, be sure also that the
toolset
(in the project properties) is set to something likeWindows7.1SDK
- select the
- only the XercesLib project neet to be compiled
- eventually, CMake will look for the resulting files in
/include
(instead of/src
) and/lib
(without the Release or Debug subfolders). By default the visual project will put them in/Build/WinXX/VCXX/StaticXXX
. Therefore you should create a custom folder with the right organization and copy the files there.
- On Visual C++ (Windows):
LibE57 (last tested version: 1.1.312 on Windows)
- WARNING: with Visual Studio (at least), you'll need the libraries compiled with
/MD
(=DLL Multithreaded) in release mode and/MDd
in debug mode. You may have to replace all/MT
by/MD
in the main libE57 root CMake file (or incmake/c_flag_overrides.cmake
andcmake/cxx_flag_overrides.cmake
if there's no/MT
in it) - If you found
set(Boost_USE_STATIC_RUNTIME ON)
in the CMake file, comment it - the version 1.1.312 of libE57 has a small glitch that must be manually patched:
- open
E57FoundationImpl.cpp
and browse to theCheckedFile::operator<<(float f)
method (line 4670) - set the output precision to 8 instead of 7! (otherwise the interal checks for precision loss may fail and libE57 will throw an exception)
- open
- WARNING: with Visual Studio (at least), you'll need the libraries compiled with
The CloudCompare CMake project will only require that you set the path where libE57 has been installed (LIBE57_INSTALL_DIR
)
[Optional] Setup for PCL (required by qPCL)
If you want to compile qPCL you'll need PCL (last tested version: 1.8 on Windows and 1.6 on Linux)
Follow the online instructions/tutorials. Basically, you'll need Boost, Qt, Flann and Eigen.
Once properly installed, the CloudCompare CMake script should automatically find PCL definitions. However, you'll have to set again the parameters related to Flann and Eigen.
[Optional] Setup for FBX SDK support
If you want to compile CloudCompare (and ccViewer) with FBX files support, you'll need: The official Autodesk's FBX SDK (last tested version: 2015.1 on Windows)
Then, the CloudCompare CMake project will request that you set the 3 following variables:
FBX_SDK_INCLUDE_DIR
: FBX SDK include directory (pretty straightforward ;)FBX_SDK_LIBRARY_FILE
: main FBX SDK library (e.g.libfbxsdk-md.lib
)FBX_SDK_LIBRARY_FILE_DEBUG
: main FBX SDK library for debug mode (if any)
[Optional] Setup for GDAL support
If you want to compile CloudCompare (and ccViewer) with GDAL (raster) files support, you'll need a compiled version of the GDAL library (last tested version: 1.10 on Windows, 2.0.2 on Mac OS X)
Then, the CloudCompare CMake project will request that you set the 2 following variables:
GDAL_INCLUDE_DIR
: GDAL include directory (pretty straightforward ;)GDAL_LIBRARY
: the static library (e.g.gdal_i.lib
)
[Optional] Setup for Cork + MPIR support (for qCork)
If you want to compile the qCork plugin (on Windows only for now), you'll need:
- MPIR 2.6.0
- the forked version of the Cork library for CC: https://github.com/cloudcompare/cork
- on Windows see the Visual project shipped with this fork and corresponding to your version (if any ;)
- for VS2013 just edit the
mpir
property sheet (in the Properties manager) and update the MPIR macro (in theUser macros
tab)
Then, the CloudCompare CMake project will request that you set the following variables:
CORK_INCLUDE_DIR
andMPIR_INCLUDE_DIR
: both libraries include directories (pretty straightforward ;)CORK_RELEASE_LIBRARY_FILE
andMPIR_RELEASE_LIBRARY_FILE
: both main library files- and optionally
CORK_DEBUG_LIBRARY_FILE
andMPIR_DEBUG_LIBRARY_FILE
: both main library files (for debug mode)