Project

General

Profile

problème de compilation sur la r617

Added by Théveny Frédéric over 9 years ago

Bonjour,

je viens de tester la compilation de la r617 sur une debian, et j’ai une erreur de compilation dans pluginshared :

xxx/computree/computreev3/pluginshared/ct_coordinates/tools/ct_coordinatesystemcloudindex.h:76: error: 'class std::vector<unsigned int>' has no member named 'shrink_to_fit'
         m_vector.shrink_to_fit();
                  ^

Ça vient du fait que le shrink_tofit() est une fonction C++11 et que par défaut sous linux g++ n’est pas en C++11.
Il faudrait rajouter un

QMAKE_CXXFLAGS += -std=gnu++0x

ou équivalent quelque part dans le .pro


Replies (21)

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

je m’en suis sorti en mettant

greaterThan(QT_MAJOR_VERSION, 4) {
    CONFIG += c++11
} else {
    QMAKE_CXXFLAGS += -std=c++11
}

dans le ComputreeCore/shared/shared.pri et le pluginshared/include_all/include_all.pri
Par contre je n’ai aucune idée de la portabilité sous windows

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

La suite :
j’ai l’erreur suivante :

xxx/computree/pluginonf/pluginonf/filter/onf_filterbyreturntype.h:28: error: ct_filter/abstract/ct_abstractfilter_las.h: No such file or directory
 #include "ct_filter/abstract/ct_abstractfilter_las.h" 

je suis allé chercher le fichier dans : ./computreev3/library/ctlibio/filters/las/abstract/ct_abstractfilter_las.h

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

xxx/computree/pluginonf/pluginonf/step/onf_stepdetectverticalalignments06.h:146: error: extra qualification 'ONF_StepDetectVerticalAlignments06::ScanLineData::' on member 'operator=' [-fpermissive]
         ScanLineData& ScanLineData::operator=(const ScanLineData& arg)

j’ai replacé

        ScanLineData& ScanLineData::operator=(const ScanLineData& arg)

par
        ScanLineData& operator=(const ScanLineData& arg)

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

Pour les erreurs suivantes :
⇒ include manquant

xxx/computree/pluginonf/pluginonf/step/onf_stepdetectverticalalignments06.cpp:32: error: ct_itemdrawable/ct_stdlaspointsattributescontainer.h: No such file or directory
 #include "ct_itemdrawable/ct_stdlaspointsattributescontainer.h" 

J’ai commenté l’include et remplacé par #include “ctlibio/itemdrawable/las/ct_stdlaspointsattributescontainer.h”

⇒ extra qualification

xxx/computree/pluginonf/pluginonf/step/onf_stepdetectverticalalignments05.h:141: error: extra qualification 'ONF_StepDetectVerticalAlignments05::ScanLineData::' on member 'operator=' [-fpermissive]
         ScanLineData& ScanLineData::operator=(const ScanLineData& arg)

j’ai remplacé
        ScanLineData& ScanLineData::operator=(const ScanLineData& arg)

par
        ScanLineData& operator=(const ScanLineData& arg)

⇒ soucis sur const

xxx/computree/pluginonf/pluginonf/step/onf_stepdetectverticalalignments05.cpp:527: error: invalid initialization of non-const reference of type 'ONF_StepDetectVerticalAlignments05::ScanLineData&' from an rvalue of type 'ONF_StepDetectVerticalAlignments05::ScanLineData'
             ScanLineData &mainLine = keptLinesOfScan.takeLast();

j’ai modifié par :
            const ScanLineData &mainLine = keptLinesOfScan.takeLast();

A priori on ne modifie que le contenu de la QList pas la QList elle même, ça ne devrait pas géner.

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

Au final j’ai pu compiler sans autres modifs (debian 8.2 / 64bits / Release) mais computree plante au lancement lors de l’initialisation du plugin ONFLsis v2 que j’ai du coup enlevé de la chaîne.
Le reste à l’air de fonctionner plutôt bien à première vue.
J’espère que ce thread sera utile

RE: problème de compilation sur la r617 - Added by Krebs Michaël over 9 years ago

Bonjour Fred,

et merci pour toutes ses corrections, je viens de faire un commit qui corrige tous ces problèmes que tu as remonté.

PS : le plugin onflsis a été mis à jour aussi et ne plant plus au démarrage de Computree.

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

ok j’update et je te fais les retours éventuels
Merci !

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

Alors j’ai rencontré 2 soucis :

⇒ soucis sur un déréférencement

xxx/computree/computreev3/pluginshared/ct_cloudindex/ct_cloudindexstdvectort.hpp:209: error: base operand of '->' has non-pointer type 'const std::vector<int, std::allocator<int> >'
     typename std::vector<ct_index_type>::iterator first = _vector->begin();

j’ai remplacé le → par un . :
    typename std::vector<ct_index_type>::iterator first = _vector.begin();
    typename std::vector<ct_index_type>::iterator last = _vector.end();

Mais au final j’ai un soucis au link sur ctlibio :

error: cannot find -lctlibio

RE: problème de compilation sur la r617 - Added by Krebs Michaël over 9 years ago

correction faite et commit aussi.

probleme de ctlibio sur quel plugin ?

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

A priori c’est sur le link de libplug_base :

g++ -m64 -Wl,-O1 -shared -o libplug_base.so release/.obj/pb_pluginentry.o release/.obj/pb_steppluginmanager.o (...) -L/usr/lib -losg -lOpenThreads -losgGA -losgViewer -losgWidget -losgManipulator -losgSim -losgText -losgUtil -losgDB -losgFX -L../../ComputreeInstallRelease -lctlibio -lQt5Widgets -lQt5Concurrent -lQt5Gui -lQt5Core -lGL -lpthread  
/usr/bin/ld: cannot find -lctlibio

RE: problème de compilation sur la r617 - Added by Krebs Michaël over 9 years ago

tu compile avec base.pro ou projet par projet. As-tu compiler computreev3/library/ctlibio ?

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

Je compile avec le base.pro et la lib libCTLibIO.so compile individuellement. Je suis en train de tester différentes pistes (peut-être juste une histoire de casse ?) mais chaque compile un peu grosse me prends 10 minutes ce qui fait que ça n’avance pas vite...

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

Pour info, la compilation globale bloque sur

/home/theveny/Documents/dev/qtcreatorworkspace/computree/pluginonf/pluginonf/step/onf_steploaddatafromitemposition.cpp:34: error: ct_itemdrawable/ct_datasourcegeo.h: No such file or directory
 #include "ct_itemdrawable/ct_datasourcegeo.h" 

RE: problème de compilation sur la r617 - Added by Piboule Alexandre over 9 years ago

L’erreur avec onf_steploaddatafromitemposition est corrigée.

RE: problème de compilation sur la r617 - Added by Krebs Michaël over 9 years ago

L’erreur de libCTLibIO est corrigée (dernier commit)

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

bonjour Michael et merci pour ta réactivité !

J’ai fait l’update et j’ai un dernier petit problème du même type : error: cannot find -lctlibpcl

Normalement je n’utilise pas PCL (en tout cas j’ai enlevé le flag) mais il semble que le qmake le détecte tout seul.

RE: problème de compilation sur la r617 - Added by Krebs Michaël over 9 years ago

C’est que un des plugins que tu compile utilise PCL. Il faut compiler le projet computreev3/library/libcpl en complément pour qu’il n’y ai plus l’erreur. Sur quel plugin as tu cette erreur ?

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

A priori c’est libplug_toolkit qui plante :

g++ -m64 -Wl,-O1 -shared -o libplug_toolkit.so release/.obj/tk_pluginentry.o release/.obj/tk_steppluginmanager.o (...) 
-L/usr/X11R6/lib64 ../../ComputreeInstallRelease/libpluginShared.so* -L/usr/lib -losg -lOpenThreads -losgGA -losgViewer -losgWidget 
-losgManipulator -losgSim -losgText -losgUtil -losgDB -losgFX -L../../ComputreeInstallRelease -lctlibpcl -lQt5Widgets -lQt5Gui -lQt5Core -lGL 
-lpthread  
/usr/bin/ld: cannot find -lctlibpcl

RE: problème de compilation sur la r617 - Added by Krebs Michaël over 9 years ago

oui le plugin toolkit détecte PCL sur ton PC et si il est présent il compile avec une étape qui a besoin de PCL. Donc tu dois juste compiler libpcl dans computreev3/library/libcpl et tu peux recompiler le plugin toolkit sans erreur.

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

ok je teste ça ASAP

Encore merci !

RE: problème de compilation sur la r617 - Added by Théveny Frédéric over 9 years ago

Super ça fonctionne.
Encore merci !

    (1-21/21)