CloudComPy
CloudComPy copied to clipboard
CloudComPy Install
Hello! I'm having a lot of issues getting CloudComPy to work, iwanted to use it for my master thesis, i need to visualize and maybe do "queries" on a classified pointcloud that i classified in cloudcompare using .las 1.4 and then saving everything in ASCII format.
Can anyone give me a easier to understand method to get CLoudComPy to work? i have install evertything needed.
Hello, are you trying to use the Windows 10 / Anaconda binary, or are you looking to rebuild CloudComPy, and on what platform? Can you describe specifically the problems you are having? You can find instructions, reference documentation, and the most recent binary here. The project is new, the interface does not yet cover all the features of CloudCompare, so feel free to tell us what specific features you are missing.
Hi,
I am also having issues with the installation process. I am running a macOS and have trouble following the installation instructions. Cloning the git repository there are no files within CloudCompare directory. I gathered you then download the binary .7z file into a directory - which I have done in the CloudCompare directory. I followed the instructions in creating a new conda environment CloudCompy37 and installing packages. Here is where I get lost. I have then tried to follow the build instructions for Ubuntu since I do not have Windows. I've installed qt with homebrew as I can't use apt-get. For using cmake how do I change the settings? Are these in the .json files and if so which one?
Appreciate any help! Thanks :)
Hello, are you trying to use the Windows 10 / Anaconda binary, or are you looking to rebuild CloudComPy, and on what platform? Can you describe specifically the problems you are having? You can find instructions, reference documentation, and the most recent binary here. The project is new, the interface does not yet cover all the features of CloudCompare, so feel free to tell us what specific features you are missing.
I wanted to use the CloudComPy only to view parts of the point cloud by especific values of a classification that i've added trough cloudcompare, by adding a new scalar field. - I dont know if there is another way to do this
I'm trying to install these tools in a machine with windows 10, i already have anaconda, visual studio and cloud compare and i was able to intall all the packages in the enviroment (cloudcompy37) that i've created. I can't get passed that, i'm not sure if i'm missing something. I'm not able to run the tests that are suggested.
Hi,
I am also having issues with the installation process. I am running a macOS and have trouble following the installation instructions. Cloning the git repository there are no files within CloudCompare directory. I gathered you then download the binary .7z file into a directory - which I have done in the CloudCompare directory. I followed the instructions in creating a new conda environment CloudCompy37 and installing packages. Here is where I get lost. I have then tried to follow the build instructions for Ubuntu since I do not have Windows. I've installed qt with homebrew as I can't use apt-get. For using cmake how do I change the settings? Are these in the .json files and if so which one?
Appreciate any help! Thanks :)
Hi, I realize that the instructions are a bit brief and probably not clear enough. The .7z binary I am proposing only works on Windows 10, in the precise Anaconda3 environment described in the Readme. Then there is no need for anything else to run CloudComPy and CloudCompare. In any other configuration, so especially on MacOS or Linux, this binary does not work, and is useless. You have to rebuild CloudComPy from source, by cloning the git repository. CloudCompare itself is seen as a git sub-module of CloudCompy. The clone is done with the --recurse-submodules option. CloudCompare itself has many sub-modules. I can't give more details about the construction on MacOS, I didn't do it, because I don't have a machine under this OS. I think I will do it this fall! Under Linux, I did not use the Anaconda environment, but only the native Ubuntu packages (20.04 in my case). CloudCompare requires many packages if you want to use all the features and file formats. Without apt-get, it is difficult. I haven't provided the full list of packages needed to build and run, I'm in the process of determining the minimum list. To build with CMake, the easiest way is to use cmake-gui (or ccmake) to interactively determine what is missing. Then, you have to find the package that provides the missing library or includes, you can for example find them with https://packages.ubuntu.com/. There, without apt-get, it becomes more complicated.
I hope this will help you a little. Regards
Hello, are you trying to use the Windows 10 / Anaconda binary, or are you looking to rebuild CloudComPy, and on what platform? Can you describe specifically the problems you are having? You can find instructions, reference documentation, and the most recent binary here. The project is new, the interface does not yet cover all the features of CloudCompare, so feel free to tell us what specific features you are missing.
I wanted to use the CloudComPy only to view parts of the point cloud by especific values of a classification that i've added trough cloudcompare, by adding a new scalar field. - I dont know if there is another way to do this
I'm trying to install these tools in a machine with windows 10, i already have anaconda, visual studio and cloud compare and i was able to intall all the packages in the enviroment (cloudcompy37) that i've created. I can't get passed that, i'm not sure if i'm missing something. I'm not able to run the tests that are suggested.
Here are already maybe some precisions in my answer to kepra3, I will see if I can give you more information.
Hi, I am also having issues with the installation process. I am running a macOS and have trouble following the installation instructions. Cloning the git repository there are no files within CloudCompare directory. I gathered you then download the binary .7z file into a directory - which I have done in the CloudCompare directory. I followed the instructions in creating a new conda environment CloudCompy37 and installing packages. Here is where I get lost. I have then tried to follow the build instructions for Ubuntu since I do not have Windows. I've installed qt with homebrew as I can't use apt-get. For using cmake how do I change the settings? Are these in the .json files and if so which one? Appreciate any help! Thanks :)
Hi, I realize that the instructions are a bit brief and probably not clear enough. The .7z binary I am proposing only works on Windows 10, in the precise Anaconda3 environment described in the Readme. Then there is no need for anything else to run CloudComPy and CloudCompare. In any other configuration, so especially on MacOS or Linux, this binary does not work, and is useless. You have to rebuild CloudComPy from source, by cloning the git repository. CloudCompare itself is seen as a git sub-module of CloudCompy. The clone is done with the --recurse-submodules option. CloudCompare itself has many sub-modules. I can't give more details about the construction on MacOS, I didn't do it, because I don't have a machine under this OS. I think I will do it this fall! Under Linux, I did not use the Anaconda environment, but only the native Ubuntu packages (20.04 in my case). CloudCompare requires many packages if you want to use all the features and file formats. Without apt-get, it is difficult. I haven't provided the full list of packages needed to build and run, I'm in the process of determining the minimum list. To build with CMake, the easiest way is to use cmake-gui (or ccmake) to interactively determine what is missing. Then, you have to find the package that provides the missing library or includes, you can for example find them with https://packages.ubuntu.com/. There, without apt-get, it becomes more complicated.
I hope this will help you a little. Regards
Hi prascle,
I've been attempting to get these settings right but I fall into an issue with boost_python. Perhaps, there are some other installation issues that are getting in the way - building with cmake settings is very new to me.
I've had to provide all the *Config.cmake paths for all the Qt5 DIR paths. But, I do not have this for boost_python39... I have installed boost_python3 with brew but it doesn't provide the configuration files. Cmake finds Boost 1.70 but installed with conda instead of brew. Additionally, I activated Cmake using the python37 conda environment but it seems to default to finding my python39 in my (base) environment. So, I think these need to be better configured as well.
This is the error message I get:
# Python3 and BoostPython processing
# python prefered version: 3.8
# python executable: /usr/local/Frameworks/Python.framework/Versions/3.9/bin/python3.9
# python version: 3.9.6
# check match for 3.8.x
# CMake Error at boostPython/CMakeLists.txt:33 (message):
# no Python found matching 3.8.x
# Python3_VERSION_MAJOR: 3
# Python3_VERSION_MINOR: 9
# Found Boost 1.70.0 at /Users/kprata/anaconda3/lib/cmake/Boost-1.70.0
# Requested configuration: QUIET REQUIRED COMPONENTS python39;numpy39
# Found boost_headers 1.70.0 at /Users/kprata/anaconda3/lib/cmake/boost_headers-1.70.0
# CMake Error at /Users/kprata/anaconda3/lib/cmake/Boost-1.70.0/BoostConfig.cmake:95 (find_package):
# Could not find a package configuration file provided by "boost_python39"
# (requested version 1.70.0) with any of the following names:
# boost_python39Config.cmake
# boost_python39-config.cmake
#Add the installation prefix of "boost_python39" to CMAKE_PREFIX_PATH or set
# "boost_python39_DIR" to a directory containing one of the above files. If
# "boost_python39" provides a separate development package or SDK, be sure it
# has been installed.
Here is my configuration settings:
BUILD_PY_TESTING ON
BUILD_QPCL_PLUGIN_DOCUMENTATIO OFF
BUILD_TESTING ON
CCACHE_PROGRAM CCACHE_PROGRAM-NOTFOUND
CCCORELIB_SCALAR_DOUBLE OFF
CCCORELIB_SHARED ON
CCCORELIB_USE_CGAL OFF
CCCORELIB_USE_QT_CONCURRENT ON
CCCORELIB_USE_TBB OFF
CMAKE_BUILD_TYPE RelWithDebInfo
CMAKE_EXECUTABLE_FORMAT MACHO
CMAKE_INSTALL_PREFIX /usr/local/CloudComPy
CMAKE_OSX_ARCHITECTURES
CMAKE_OSX_DEPLOYMENT_TARGET 10.15
CMAKE_OSX_SYSROOT /Applications/Xcode.app/Contents/Developer/Pl
COMPILE_QMPLANE_PLUGIN_TESTS OFF
DXF_LIB_DIR extern/dxflib
E57_BUILD_SHARED OFF
E57_CLANG_FORMAT_EXE /Users/kprata/anaconda3/bin/clang-format
FLANN_INCLUDE_DIR /Users/kprata/anaconda3/envs/CloudComPy37/inc
FLANN_LIBRARY /Users/kprata/anaconda3/envs/CloudComPy37/lib
FLANN_LIBRARY_DEBUG FLANN_LIBRARY_DEBUG-NOTFOUND
INSTALL_PREREQUISITE_LIBRARIES ON
OPTION_BUILD_CCVIEWER ON
OPTION_GL_QUAD_BUFFER_SUPPORT OFF
OPTION_SUPPORT_GAMEPADS OFF
OPTION_USE_DXF_LIB ON
OPTION_USE_GDAL ON
OPTION_USE_OCULUS_SDK OFF
OPTION_USE_SHAPE_LIB ON
PCL_DIR /Users/kprata/anaconda3/envs/CloudComPy37/sha
PLUGIN_EXAMPLE_GL ON
PLUGIN_EXAMPLE_IO ON
PLUGIN_EXAMPLE_STANDARD ON
PLUGIN_GL_QEDL ON
PLUGIN_GL_QSSAO ON
PLUGIN_IO_QADDITIONAL ON
PLUGIN_IO_QCORE ON
PLUGIN_IO_QCSV_MATRIX ON
PLUGIN_IO_QE57 ON
PLUGIN_IO_QFBX OFF
PLUGIN_IO_QPDAL OFF
PLUGIN_IO_QPHOTOSCAN ON
PLUGIN_IO_QRDB OFF
PLUGIN_IO_QSTEP OFF
PLUGIN_STANDARD_MASONRY_QAUTO_ OFF
PLUGIN_STANDARD_MASONRY_QMANUA OFF
PLUGIN_STANDARD_QANIMATION OFF
PLUGIN_STANDARD_QBROOM ON
PLUGIN_STANDARD_QCANUPO OFF
PLUGIN_STANDARD_QCOLORIMETRIC_ OFF
PLUGIN_STANDARD_QCOMPASS ON
PLUGIN_STANDARD_QCORK OFF
PLUGIN_STANDARD_QCSF OFF
PLUGIN_STANDARD_QFACETS OFF
PLUGIN_STANDARD_QHOUGH_NORMALS OFF
PLUGIN_STANDARD_QHPR OFF
PLUGIN_STANDARD_QJSONRPC OFF
PLUGIN_STANDARD_QM3C2 ON
PLUGIN_STANDARD_QMPLANE ON
PLUGIN_STANDARD_QPCL ON
PLUGIN_STANDARD_QPCV OFF
PLUGIN_STANDARD_QPOISSON_RECON ON
PLUGIN_STANDARD_QRANSAC_SD ON
PLUGIN_STANDARD_QSRA OFF
POISSON_RECON_WITH_OPEN_MP OFF
PYTHONAPI_TRACES ON
PYTHON_PREFERED_VERSION 3.8
QHULL_LIBRARY QHULL_LIBRARY-NOTFOUND
QHULL_LIBRARY_DEBUG QHULL_LIBRARY_DEBUG-NOTFOUND
QT5_ROOT_PATH
Qt5Concurrent_DIR /Users/kprata/anaconda3/lib/cmake/Qt5Concurre
Qt5Core_DIR /Users/kprata/anaconda3/lib/cmake/Qt5Core
Qt5Gui_DIR /Users/kprata/anaconda3/lib/cmake/Qt5Gui
Qt5LinguistTools_DIR /Users/kprata/anaconda3/lib/cmake/Qt5Linguist
Qt5OpenGLExtensions_DIR /Users/kprata/anaconda3/lib/cmake/Qt5OpenGLEx
Qt5OpenGL_DIR /Users/kprata/anaconda3/lib/cmake/Qt5OpenGL
Qt5PrintSupport_DIR /Users/kprata/anaconda3/lib/cmake/Qt5PrintSup
Qt5Svg_DIR /Users/kprata/anaconda3/lib/cmake/Qt5Svg
Qt5Test_DIR /Users/kprata/anaconda3/lib/cmake/Qt5Test
Qt5Widgets_DIR /Users/kprata/anaconda3/lib/cmake/Qt5Widgets
Qt5_DIR /Users/kprata/anaconda3/lib/cmake/Qt5
SHAPELIB_LIB_DIR extern/shapelib
boost_headers_DIR /Users/kprata/anaconda3/lib/cmake/boost_heade
boost_python39_DIR boost_python39_DIR-NOTFOUND
mac_deploy_qt /Users/kprata/anaconda3/bin/macdeployqt
Apologies for these issues. I am completing my PhD in coral population genomics and I am using CloudCompare to annotate 3D reconstructions of reefs. I would really love to use python to calculate some metrics!
Cheers, Kat
Hi Kepra3, Python 3.9 was not in the list of supported versions in CloudComPy, I just added it in the git repository. You should update your sources with a pull (git pull origin master), and change the CMake PYTHON_PREFERED_VERSION option to 3.9 instead of 3.8. I had problems with boost versions greater than or equal to 1.70. Can you try to set a lower version? ("boost<1.70" in the conda configuration) This is probably necessary, but I don't know if it will be enough. I have not tested this configuration. Don't hesitate to give me error messages after this modification! Regards, Paul
Hi prascle,
I'm trying to install the Windows 10 binary by creating the conda environment as specified in the instructions, but I'm having an issue where the cloudComPy module is not importing in the test scripts.
I first downloaded and extracted the December 5 version of the .7z file, created a conda environment in Python 3.9 and successfully installed the other packages, then ran the environment variable script. Then when I run the first test script, I get an error on the first attempt to import the cloudComPy module: "DLL load failed while importing cloudComPy: The specified module could not be found".
I looked at the dependencies within the "cloudComPy.pyd" file and it showed that it wasn't able to find several dependencies (see below):
I was however able to open Spyder within the environment and import other packages like numpy, and running CloudCompare from within the environment also worked.
Any ideas as to how to fix this? I am a total Python noob so I figured trying to build the package using CMake would probably be even more error prone for me. Thanks, Luke
Hi Luke,
I tried to reproduce your problem.
in your screenshot of dependencies, Conda libraries are not found as well as VCRUNTIME140_1.dll
When I run DependencyGUI in the terminal with Conda and CloudComPy environment, I see where the dlls come from.
I think in your case, it is
VCRUNTIME140_1.dll
that is missing.
A quick search indicates that this file is installed when updating windows or installing the Microsoft Visual C++ Redistributable package: see Microsoft Visual C++ Redistributable Latest Supported Downloads and try to install vc_redist.x64.exe
.
Let me know if this solution works for you, I will add installation instructions according to your feedback.
Thanks,
Paul
Hi Paul,
It didn't occur to me to run Dependencies from within the environment. When I do that, the VCRUNTIME140_1.dll is found, but the boost-python39.dll and boost_numpy39.dll were still missing.
After this, it was clear that there was a problem with my boost install. I compared my conda-list to yours and found that you had boost and boost-cpp but I had only boost-cpp. I recreated the whole environment, being sure to install boost first, then cc was able to import!
However, you may be interested to know that tests 7, 20, and 21 failed, for the following reasons:
test 7 : AttributeError: 'NoneType' object has no attribute 'computeLength'
test 20: AttributeError: 'NoneType' object has no attribute 'size'
test 21: AttributeError: 'NoneType' object has no attribute 'setClosed'
This should probably be sufficient for me to get started using it however. Thanks for the help and for your work on this project!
Edit: actually the 'NoneType' issue might be a bigger problem than I thought... not sure how to proceed haha. Edit2: It looks like the loadPointCloud function is finnicky with filenames. Perhaps NoneType is returned when the cloud fails to load? Regardless, I'm guessing it's a separate issue from the installation.
Luke
That's right, if the cloud is not loaded, the returned object is of type None.
I am surprised about the discrepancies on the package list. More missing packages could explain the error tests.
I wonder if an incremental update of Conda packages leads to the same result as an installation from scratch.
When I recreate the Conda CloudComPy39 environment, I install all the packages at once, after completely cleaning up the existing environment (to be sure that all packages are up to date).
I execute the following instruction block in the conda prompt (copy and paste the whole block, -y
options force yes answers)
conda activate
conda create -y --name CloudComPy39 python=3.9
# --- erase previous env if existing
conda activate CloudComPy39
conda config --add channels conda-forge
conda config --set channel_priority strict
conda install -y boost cgal cmake ffmpeg gdal jupyterlab matplotlib mysql numpy opencv openmp pcl pdal psutil qt scipy sphinx_rtd_theme spyder tbb tbb-devel xerces-c
Paul
Hello Paul, I am trying to install CloudComPy in Windows 11 using Anaconda. I read the above questions and answers, and I am trying to follow both instructions links (see below -despite having minor differences) https://github.com/CloudCompare/CloudComPy/blob/master/doc/UseWindowsCondaBinary.md and https://github.com/CloudCompare/CloudComPy/blob/master/doc/BuildWindowsConda.md
The first link refers to downloading CloudComPy, the second link entirely skips this step.
I am confused about where is the CloudComPy binary actually built in both links.
I am confused at the "It is necessary to configure Visual Studio 2019 with CMake.
It is unclear what is the next step once the Visual Studio Gui is open as seen below.
Thanks
In none of the links BuildWindowsConda.md and BuildWindowsConda.md does it describe using cmake to compile/build the CloudComPy binary file. Am I missing anything?
From Cmake documentation, https://www.simulation.openfields.fr/documentation/CloudComPy/html/userIntro.html#windows Do I need `cd some_software-1.4.2
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/opt/the/prefix
cmake --build .
cmake --build . --target install`
Hello @snowman907 I will try to answer all your questions. The Windows construction documentation only gives general ideas and is probably not up to date. My Windows procedure is a bit complicated and homemade, I know Linux better than Windows. I will try to update this documentation.
the first link (https://github.com/CloudCompare/CloudComPy/blob/master/doc/UseWindowsCondaBinary.md) indicates how to get and use the CloudComPy binaries I built (C++ libraries). There is no need for the sources nor for visual Studio in this case. You only need Anaconda or miniconda.
The second link (https://github.com/CloudCompare/CloudComPy/blob/master/doc/BuildWindowsConda.md) explains how to build CloudComPy from C++ sources. There, you need Visual Studio, git (to clone the sources) the conda environment, etc. This part is complicated and not quite up to date.
In my configuration of Visual Studio 2019 (Visual Studio Installer: menu Tools / Get Tools and Features... ), I need C++, CMake, Git. Python is probably not necessary here, I use the Python provided with conda.
(Sorry, my original configuration is in French, some screens are not translated when I change language...)
You have to install the conda CloudComPy310 environment
I do all the building process with the Visual Studio GUI. In Visual Studio, the first step is to clone the git repository (https://github.com/CloudCompare/CloudComPy.git) Visual tries to generate the project right away and fails. You have to modify the CMakeSettings.json file with the right paths, and disable the plugins that need to build prerequisite libraries (I haven't documented this part). You can see the CloudCompare build documentation to help you. Disable as many plugins as possible to start, and introduce them afterwards, as you go along.
When you have modified the file CMakeSettings.json, the sequence is as follows
- Delete Cache (menu Project / Cmake Cache...)
- Configure CloudCompareProjects (menu Project)
- Build all (Build menu)
- Install CloudCompareProjects (Build menu)
You can use command lines and scripts instead of the Visual Studio GUI, but I find it much more complicated on Windows than on Linux... I haven't taken that step on Windows yet.
I hope this answers some of your questions.
Regards, Paul
Thanks, I think I am starting to understand.
I am running the Visual Studios from
During the cloning, does the Path need to link to the CloudCoPy310 environment?
It is not necessary to launch Visual Studio from the conda CloudComPy310 environment. This can make the configure step easier (several paths can be found automatically, without the need to specify them in CMakeSettings.json). I avoid doing it now, I have the impression that Visual Studio is less robust when its environment is modified. I manage to configure the project with Visual Studio in its native environment by specifying all the paths in CMakeSettings.json and I now have a reliable build process.
To clone the git repository, there is no need for the CloudComPy310 environment. The repository location is https://github.com/CloudCompare/CloudComPy.git (don't forget .git). The path of the clone is whatever you want. The default is fine.
Paul, I am making progress, and once I am successful, I will be happy to type updated instructions in English and share them with you or post them here on Github.
A few further questions.
- QT is installed when setting the anaconda env environment, do I still need QT also to be installed in my C drive?
- In the JSON file in the example https://github.com/CloudCompare/CloudComPy/blob/master/doc/BuildWindowsConda.md , the path of
{ "name": "GDAL_INCLUDE_DIR", "value": "C:/Users/paulr/anaconda3/envs/CloudComPy37/Library/include", "type": "PATH" },
a. the value jas "anaconda3/envs/CloudComPy37" is that not necessary anymore, and instead, I should just refer to the Visual Studio cloneC:\Users\Eyal\source\repos\CloudComPy
? b. In the clone `C:\Users\Eyal\source\repos\CloudComPy, there is no "Library"
Last, the JSON file is very long (500 lines) can you highlight only the lines that need to be changed? Is it easier to edit the JSON file in the text editor or in the VS GUI?
Hello, It's good to know that you are making progress.
- The version of Qt provided in the conda CloudComPy310 environment is now correct, it is not necessary to install another version of Qt.
- Don't refer to the json file described in the build document , it's not up to date anymore, while the CMakeSettings.json file at the root is the one I use to build, it should be enough to update some path (and disable the plugins that don't compile).
- I use the text editor rather than the GUI.
- Look for lines containing
C:/Users/paulr
to correct them with your path. Some of these lines correspond to a library or include path for a plugin. You have to disable the corresponding plugin (replace "True" by "False" in the "PLUGIN_XXX" block), while waiting to build or install the prerequisite library. We can deal with this part later if you manage to build without the plugins!
Paul
Great, more progress!
In the JSON file you refer to C:\Users\Eyal\anaconda3\Library\lib\zlib.lib
, should it not be C:\Users\Eyal\anaconda3\envs\CloudComPy310\Library\lib\zlib.lib
In fact, you don't refer at all to the CloudComPy310 env in the JSON file.
Some paths like "name": "LASLIB_INCLUDE_DIR", "value": "C:/Users/paulr/CloudComPy/lasTools/LAStools/LASlib/inc", "type": "PATH"
... LASTools is not a plugin, so I cannot turn it off (I cannot add False).
Is this http://www.cloudcompare.org/doc/wiki/index.php/Compilation#.5BOptional.5D_Setup_for_LibLAS_support the most recent documentation to add LAS capability?
Do I need to compile/build CloudComPy every time I want to add plugins or features (LAS)?
Again stuff like /cork/win/VS2013/x64/Release/wincork2013.lib"
is not in the clone. Why are all these folders not in the clone? Am I supposed to add them to the clone before I build?
Thaanks
Hello,
- For
zlib.lib
, both paths are valid, but you are right, it is clearer to use${anacondaRoot}/Library/lib/zlib.lib
. - By the way,
${anacondaRoot}
is defined as"C:/Users/paulr/anaconda3/envs/CloudComPy310"
(line 10) so I refer to the CloudComPy310 environment very often in the CMakeSettings.json file! - LASlib is a library required by the LAS FWF plugin
PLUGIN_IO_QLAS_FWF
. - The wiki build page gives you a lot of advice but it is a bit old (last edited on July 22, 2016) and several things are outdated: for example, the addition of LAS capability has changed: the qPDALIO
PLUGIN_IO_QPDAL
plugin provides a first way to read and write LAS files, but the LAS FWF plugin offers a newer version of the las/laz reader/writer (1.4 instead of 1.2). There are some very recent changes in CloudCompare regarding LAS, which are not yet integrated in CloudComPy. - About Cork, CloudCompare relies on some pre-requisite libraries for itself and its plugins: neither the source code of these libraries nor their binaries are included in the git repository and you have to provide these libraries outside. The conda environment provides many libraries, but for those that are not in the conda packages, you either find a binary package of the library or you rebuild it (in a separate Visual Studio project)...
- In theory, you can add plugins to CloudCompare without recompiling everything (plugins are discovered dynamically at runtime), and same thing for CloudComPy. In practice I never tried: rebuilding CloudCompy from scratch takes less than 5 minutes (once CMakeSettings.json is correct!).
Paul
Thanks for the above.
My questions were in the case where I don't have Cork and LAS support; these are not plugins. How do I disable them so I can continue with the build? In other words, the JSON file { "name": "CORK_INCLUDE_DIR", "value": "C:/Users/paulr/CloudComPy/cork/src", "type": "PATH"
do I only replace paulr with my name, and keep the path even without having cork and LAStools in the clone?
- Are the "buildRoot" and "installRoot" refer to the clone folder?
- In the clone, I don’t have a "build2019" in
"buildRoot": "C:/Users/Eyal/CloudComPy/build2019/${name}"
, do I keep it and continue with the build? Again thanks for all the help, best, Eyal
- CORK is a plugin (
PLUGIN_STANDARD_QCORK
line 223) so you can disable the use of Cork. You can keep the lines defining the path for libraries and includes in the json file for future use. - If you want LAS support, enable
PLUGIN_IO_QPDAL
which only requires libraries provided in the Conda CloudComPy310 environment. You will not have the latest driver for LAS, which is provided by thePLUGIN_IO_QLAS_FWF
plugin. - buildRoot` must be a separate directory from the source directory (the git clone). Do not define a path inside the source directory.
- same for
installRoot
. - The build and install directories are automatically created during build and install.
- You must have 3 separate directories : source code, build, install.
So in the JSON file, for now, I am switching all the plugins BOOL from TRUE to FALSE ( from line 104 to the end# except PLUGIN_IO_QPDAL), right? How Do I install the M3C2 plugin? (For simplicity, I can do that after I got the first build complete) What do I do with the four OPENCASCADE FILE PATHS (495-509 lines) Does CloudPy only support python 3.7 and 3.8? And not 3.9?
*Moving past editing the JSON file
I completed the delete cache: Delete Cache (menu Project / Cmake Cache...)
But both Configure CloudComp
areProjects (menu Project) and Build all (Build menu) were grey!
What am I missing?
- OK to deactivate all plugins except PLUGIN_IO_QPDAL
- When you have successfully built, installed and done a first test, you can try to activate the other plugins.
- OpenCascade is used by PLUGIN_IO_QSTEP.
- CloudCompPy must be built with Python 3.10 (provided in the conda CloudComPy310 environment): see line 24.
- Generate Cache is not active ? You must do it now. The Build menu is grey until the cache is generated.
- I suggest you to activate the folder view, it's easier to see and edit the files...
Perhaps there is something confusing: after clearing the cache, you have the Generate Cache
menu.
After the cache is generated, this menu is replaced by Configure CloudCompareProjects
but it is the same action...
OK! I missed the step: Generate Cache
- Delete Cache (menu Project / Cmake Cache...) - Generate Cache
- Configure CloudCompareProjects (menu Project)
- Build all (Build menu)
- Install CloudCompareProjects (Build menu)
During the Generate Cache and Configure steps I got one warning
CGAL_DATA_DIR cannot be deduced set the variable CGDAL_DATA_DIR to the set default value of CGAL::data_file_path()
Otherwise I got:Build All succeeded!
Install succeeded
I am not sure why the output callC:\Users\paulr\anaconda3\Scripts\activate.bat C:\Users\paulr\anaconda3
# that is not in the JSON file? Why do I still have "paul"? Also, I will fix the path variable and try again.The environment seems to be incorrect! You need to set the conda environment for cloudComPy before running this script!
Also, do I need to clone the source everytime I want to build from scratch? Is there an unbuild option?
Great!
- The warnings during the Generate Cache an Configure steps are OK.
- I forgot to correct a path in
sphinxDoc/genSphinxDocWindowsBat.in
. Just edit it before generate, build, install. This script is used for the generation of the documentation. - Of course, you don't need to clone the source every time! When you delete the cache, the build directory is cleared.
- You clone the sources once, then modify them to suit your needs (I assume that if you want to build CloudComPy, it's to make some modifications on your end, otherwise you could have just downloaded the Windows binaries instead of the sources! ).
- When you modify the sources, use the sequence
Delete Cache
Generate Cache
Build all
Install CloudCompareProjects
- Depending on your modifcation, you may skip the
Delete Cache
step, and just executeConfigure CloudCompareProjects
Build all
Install CloudCompareProjects
but sometimes Visual Studio or CMake gets confused and it is necessary to clear the build. - After that, it' time to test! Follow the instructions for using CloudCompare and CloudComPy.
Paul
Hello Paul, I was working on a proposal in the past few weeks and took a break from working on this. So I was hoping to review the last steps I took by "delete Cache" but that options was not available. Unfortunately, when I opened Microsoft Visual Studios, the only option I had under Project was Rescan Solution Under Build I have Build All, Rebuild All, and Install CloudCompareProjects
Then I ran the Install CloudCompareProjects (output copied to the attached txt) and got two error messages ("paulr") that I don't think are because of the json file.
Why can I not clear the cache anymore and start all over?
Visual_Studio_Install CloudCompareProjects_12_12_22.txt
Thanks!