Project

General

Profile

problème de compilation sur la r617

Added by Théveny Frédéric almost 10 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 almost 10 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)