Hello, I installed from sources ROOT 6.10/02. I develop a small Qt project that uses ROOT libraries. My .pro file looks like
TEMPLATE = app
QT += widgets testlib
CONFIG += staticlib
linux-g++* {
CONFIG += use_ROOT
}
use_ROOT {
DEFINES += "ROOTdef"
LIBS += $$system(root-config --libs) \
-lImt
QMAKE_CXXFLAGS += $$system(root-config --cflags)
}
LIBS += -L/opt/Qt/lib/ \
-L/usr/lib64/
QMAKE_LFLAGS += -static-libgcc
SOURCES += \
main.cpp \
MaFenetre.cpp \
MonFichierBin.cpp \
MonFichierConf.cpp \
MonFichierConfSource.cpp \
MonFichierIfm.cpp
HEADERS += MaFenetre.h \
MonFichierBin.h \
MonFichierConf.h \
MonFichierConfSource.h \
MonFichierIfm.h \
Defines.h
I had to add -LImt by hand in the LIBS variable because otherwise I got such message in Qt Creator
g++ -static-libgcc -o RNBinIms main.o MaFenetre.o MonFichierBin.o MonFichierConf.o MonFichierConfSource.o MonFichierIfm.o moc_MaFenetre.o -L/opt/root/lib -lCore -lRIO -lNet -lHist -lGraf -lGraf3d -lGpad -lTree -lRint -lPostscript -lMatrix -lPhysics -lMathCore -lThread -lMultiProc -pthread -lm -ldl -rdynamic -L/opt/Qt/lib/ -L/usr/lib64/ -L/opt/Qt/lib -lQt5Widgets -lQt5Gui -lQt5Test -lQt5Core -lGL -lpthread
/usr/bin/ld: warning: libImt.so, needed by /opt/root/lib/libTree.so, not found (try using -rpath or -rpath-link)
/opt/root/lib/libTree.so: référence indéfinie vers « ROOT::TThreadExecutor::ParallelFor(unsigned int, unsigned int, unsigned int, std::function<void (unsigned int)> const&) »
/opt/root/lib/libTree.so: référence indéfinie vers « ROOT::TThreadExecutor::TThreadExecutor() »
Makefile:264: recipe for target ‘RNBinIms’ failed
collect2: erreur: ld a retourné 1 code d’état d’exécution
Is there any reason explaining why -lImt is not included in the output of root-config --libs?