Cannot load plugin qPCL

All about Windows versions
olivierl
Posts: 8
Joined: Tue Mar 03, 2015 10:45 am

Cannot load plugin qPCL

Post by olivierl »

Hi,
I have compiled cloudcompare trunk version successfully on the following configuration:
- MSVC 2012
- Windows 7 64 bits

I tried to add PCL plugin. For that I used the pre-built version from http://unanancyowen.com/?p=1255&lang=en (this one to be precise https://onedrive.live.com/redir?resid=E ... file%2cexe), which includes VTK, Boost, FLANN, Eigen and Qhull.
I had an issue with VTK not found by Cmake, so I compiled VTK.

Eventually the cmake would generate the MSVC solution. It compiled successfully, but when I launched the exe the PCL plugin was not loaded. I have the following error in the console:

Code: Select all

[17:33:12] [Plugin] Cannot load library D:/DEV/CloudCompare/install/CloudCompare_debug/plugins/QPCL_IO_PLUGINd.dll: Le module spécifié est introuvable.
[17:33:12] [Plugin] Cannot load library D:/DEV/CloudCompare/install/CloudCompare_debug/plugins/QPCL_PLUGINd.dll: Le module spécifié est introuvable.
Some checks I have done:
  • QPCL_IO_PLUGINd.dll and QPCL_PLUGINd.dll are in the plugins folder
  • pcl dll's are in the fodler of the exe (CloudCompare_debug)
  • it doesn't work either with ccViewer...
I guess my pcl installation is not correct? How could I debug that?
Any help will be appreciated.
Thank you,
Olivier
daniel
Site Admin
Posts: 7701
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cannot load plugin qPCL

Post by daniel »

Hi,

In fact I never tried to compile with the PCL prebuilt binaries.

The issue may be come from the Qt version with which those prebuilt binaries have been compiled (they may be different from the version you use to compile CC). But it's just a guess. The best way is to use the 'dependency walker' (http://www.dependencywalker.com/) on the qPCL plugin DLL. This way you'll spot the missing DLLs.
Daniel, CloudCompare admin
olivierl
Posts: 8
Joined: Tue Mar 03, 2015 10:45 am

Re: Cannot load plugin qPCL

Post by olivierl »

Hi Daniel,
Thank you for your answer, it was very helpful. I could start cloudcompare with the pcl plugin using prebuilt pcl. I had to edit the PATH variable for that and add: "D:\DEV\PCL\3rdParty\VTK\bin;D:\DEV\CloudCompare\install\CloudCompare_debug;D:\DEV\PCL\bin;D:\DEV\Qt\5.2.1\msvc2012_64_opengl\bin".
It's a bit dirty, because I needed to compile VTK to get it detected by cloudcompare cmake (VTK of PCL-pre-built was not detected) but eventually I use VTK of PCL-prebuilt.

So, when I launch cloudcompare compiled with pcl plugin, I can see in the console the following messages:

Code: Select all

[11:13:02] Plugins lookup dir.: D:/DEV/CloudCompare/install/CloudCompare_debug/plugins
[11:13:02] Found new plugin: 'QCSV_MATRIX_IO_PLUGINd.dll'
[11:13:02] 	plugin name: [CSV Matrix I/O filter]
[11:13:02] 	file extension: CSV
[11:13:02] Found new plugin: 'QPCL_IO_PLUGINd.dll'
[11:13:02] 	plugin name: [PCL I/O filter]
[11:13:02] 	file extension: PCD
[11:13:02] Found new plugin: 'QPCL_PLUGINd.dll'
[11:13:02] 	plugin name: [PCL wrapper]
Meaning that the plugins are loaded.
Similarly, in menu Help>About Plugins.., QCSV, QPCL_IO and QPCL plugins are detected.

But... the plugin menu is disabled, and I can not access to the PCL plugin
Any idea?
Thanks,
Olivier

PS: I am trying to postpone PCL compilation on windows as it seems many people have difficulties with that.
daniel
Site Admin
Posts: 7701
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cannot load plugin qPCL

Post by daniel »

Great. In fact the VTK warnings come from the PCL cmake scripts. Was it errors or only warnings by the way (you can ignore warnings). I guess the prebuilt package is built with all dependencies, this is why you have to bring them along.

To access most of CloudCompare methods you have to select first one or several entity (generally point clouds ;).

If you're interested in upgrading the plugin, then you can also contact its author (Luca Penasa).

P.S.: compiling PCL is not so hard (especially as you can drop most of the dependencies) but it's very loooooooonnnnnnnng.
Daniel, CloudCompare admin
olivierl
Posts: 8
Joined: Tue Mar 03, 2015 10:45 am

Re: Cannot load plugin qPCL

Post by olivierl »

Great. In fact the VTK warnings come from the PCL cmake scripts. Was it errors or only warnings by the way (you can ignore warnings). I guess the prebuilt package is built with all dependencies, this is why you have to bring them along.
I'm not sure I understand well your question.
To access most of CloudCompare methods you have to select first one or several entity (generally point clouds ;).
Yes sure;) But even if I select a cloud, the menu stays disabled. It is not the case with the built version 2.6.1 I have also, with the same cloud.
Is there something in the code to enable the plugin menu?

Anyway, I guess I'll have to try and compile PCL to have a clean install...
daniel
Site Admin
Posts: 7701
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cannot load plugin qPCL

Post by daniel »

My question was: is it a true error (that prevents you from 'generating' the project files) or only a warning?

And it's quite strange that this doesn't work in your version, even with a different PCL version (maybe it's due to the different Qt version?!).

Whether a plugin action is enabled or disabled is controlled by the ' qPCL::onNewSelection' method. This one will then ask for to each PCL filter if the selection suits its needs (with BaseFilter::updateSelectedEntities). Currently the only test is that a single point cloud is selected.

To force the activation (but things might get dirty afterwards ;) you can force the action to be enabled in the the 'BaseFilter::updateSelectedEntities' method.
Daniel, CloudCompare admin
olivierl
Posts: 8
Joined: Tue Mar 03, 2015 10:45 am

Re: Cannot load plugin qPCL

Post by olivierl »

My question was: is it a true error (that prevents you from 'generating' the project files) or only a warning?
And it's quite strange that this doesn't work in your version, even with a different PCL version (maybe it's due to the different Qt version?!).
Ok, I understand. Yes indeed, I could not 'generate' the project files when pointing to the VTK folder provided by the PCL built-in of http://unanancyowen.com/?p=1255&lang=en

For the plugin menu activation, I tried to set m_action->setEnabled(true); in BaseFilter::updateSelectedEntities of plugins\qPCL\PclUtils\filters\BaseFilter.cpp, but the result is the same, the main plugin menu is disabled...
daniel
Site Admin
Posts: 7701
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Cannot load plugin qPCL

Post by daniel »

Then there's definitely something fishy?!
Daniel, CloudCompare admin
olivierl
Posts: 8
Joined: Tue Mar 03, 2015 10:45 am

Re: Cannot load plugin qPCL

Post by olivierl »

Hi Daniel,
I switched to Linux (Ubunutu 14.04) for this. I installed trunk version of PCL and CloudCompare without any particular issue. I first configured the cmake to install only qPCL plugin. Then when I launched the application, I had the same behavior as on Windows: the plugin was loaded, but the plugin menu was disabled (the whole menu, not only this of the plugin). But I tried to import a PCD file, and it worked. So there is something tricky with this Plugin menu, which is not enabled when qPCL is loaded.
I then compile again to install the excellent Ransac-SD plugin. Now, my plugin menu is enabled, with RANSAC-SD and PCL plugins available...

I will check if it is the same on Windows.

Olivier
olivierl
Posts: 8
Joined: Tue Mar 03, 2015 10:45 am

Re: Cannot load plugin qPCL

Post by olivierl »

Hi,
I recompile CC on Windows with the ransac-SD plugin activated, and it enabled my plugin menu (including PCL)!
I tried the "Remove Outliers" function on a PCD file, and it works.
Olivier
Post Reply