error : undefined reference to `qt_resourceFeatureZlib'
-
Hello,
When i install qt automatically with commands below. It works.
Qt version is 5.9 when i install Qt with this commands.sudo apt install build-essential sudo apt install qtcreator sudo apt install qt5-default
But i'm installing another Qt version which is 5.14.2 and then I'm trying to compile & run my Qt Gui App and i see following error.
*undefined reference to `qt_resourceFeatureZlib'*
All other setups are the same. for both installation!
-
@sberkantgulen said in error : undefined reference to `qt_resourceFeatureZlib':
i'm installing another Qt version
How exactly?
-
@jsulm Thanks for answer.
I downloaded qt offline installer then i installed it on ubuntu 18.04.
qt-opensource-linux-x64-5.14.2.run
https://download.qt.io/archive/qt/5.14/5.14.2/By the way, Qt examples work correctly.
-
@sberkantgulen Can you post the whole compile output?
Do you have any pre-build binaries? -
@jsulm said in error : undefined reference to `qt_resourceFeatureZlib':
build
Is there any difference between PKG_CONFIG ?
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig/
source ~/.bashrc
echo $PKG_CONFIG_PATH -
@sberkantgulen This is not the whole compile output. Please do a complete rebuild and post the compile output (delete build folder, run qmake and build).
There shouldn't be any need to set PKG_CONFIG_PATH.
-
It is so long, you can download from link below.
-
@sberkantgulen Please upload a simple text file, not Open Office one (I will not open office files)...
-
Uh, sorry..
-
@sberkantgulen Linker cannot find your libs:
/usr/bin/ld: cannot find -lBL /usr/bin/ld: cannot find -lDL
You should check how you handle the dependencies between your subfolders.
g++ -Wl,-rpath,/home/kkvyz1/Qt5.14.2/5.14.2/gcc_64/lib -o PL main.o qrc_qml.o -L/usr/lib/x86_64-linux-gnu/ -L/home/kkvyz1/Desktop/dQGCS/dev/build-YKI-Desktop_Qt_5_14_2_GCC_64bit-Debug/PL/../BL/ -lBL -L/home/kkvyz1/Desktop/dQGCS/dev/build-YKI-Desktop_Qt_5_14_2_GCC_64bit-Debug/PL/../DL/ -lDL -lcairo -lQt5GStreamerQuick-1.0 -lQt5Quick -lQt5Gui -lQt5Qml -lQt5Network -lgstvideo-1.0 -lgstbase-1.0 -lgstreamer-1.0 -lgobject-2.0 -lglib-2.0 -lQt5GStreamer-1.0 -lQt5GLib-2.0 -lQt5Core /home/kkvyz1/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Quick.so /home/kkvyz1/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Gui.so /home/kkvyz1/Qt5.14.2/5.14.2/gcc_64/lib/libQt5QmlModels.so /home/kkvyz1/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Qml.so /home/kkvyz1/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Network.so /home/kkvyz1/Qt5.14.2/5.14.2/gcc_64/lib/libQt5Core.so -lGL -lpthread -
@jsulm said in error : undefined reference to `qt_resourceFeatureZlib':
how you handle the dependencies between your subfolders.
My project's pro file like this:
TEMPLATE = subdirs SUBDIRS += \ DL \ BL \ PL
And other .pro files like this:
How exactly should I make a change?
Also this project works when I auto-install with 5.9. -
@sberkantgulen Take a look at https://doc.qt.io/qt-5/qmake-variable-reference.html#subdirs, especially the *.depends part. You need to specify the dependencies between your subdirs.
-
Thank you, I will do some more research on these issues.
But i still can not understand. Everything works when i use cmd.
If there is a problem about dependencies how project works on Qt 5.9 ?What is the difference between offline installation and command line installation ?
I can not understand. Qt 5.12 and Qt 5.14 give me error.. -
@sberkantgulen I don't know why it works with Qt 5.9, maybe that version handles build folders with subdirs projects differently than newer version and you were simply lucky.
"What is the difference between offline installation and command line installation ?" - I guess by "command line installation" you mean installing using apt? Using apt you install Qt built and packaged by your Linux distribution. If you use offline/online installer you use official Qt builds from Qt Company.
-
Yes, i mean when i install from terminal with command:
sudo apt-get install qt5-default
It installs Qt 5.9.5.
And everything is okey. For example i can run qtcreator from terminal with:sudo ./qtcreator
But, when i install qt with offline installer i can't do same things.
Terminal can not find qtcreator when i run:sudo ./qtcreator
I thought there might be a problem with the paths. But no matter what I did, I couldn't solve it.
-
@sberkantgulen said in error : undefined reference to `qt_resourceFeatureZlib':
sudo ./qtcreator
Why do you start QtCreator with sudo?! This is not needed at all!
To start QtCreator installed using offline/online installer you simply have to use absolute path. On my machine it is:
~/Qt/Tools/QtCreator/bin/qtcreator
-
Yes, i mean;
Maybe problem can be about file association . I wanted to point this out .
It's like it can't see the libraries and therefore cannot mount sub-directories.
AM i wrong? -
@sberkantgulen Not sure what you mean. QtCreator has nothing to do with building of your app (you can build in a terminal without QtCreator). Also, nothing is mounted. The problem is that linker can't find the libraries. That means those libraries are not located in the folders you pass to the linker (like here: -L/home/kkvyz1/Desktop/dQGCS/dev/build-YKI-Desktop_Qt_5_14_2_GCC_64bit-Debug/PL/../DL). So, I suggest you really take a look at the link I gave you and define the dependencies between your subfolders properly.
-
I mean, my problem can be like this topic:
https://forum.qt.io/topic/107933/undefined-reference-to-qt_resourcefeaturezlibAnd i don't know how can i change libraries.
-
@sberkantgulen The problem from your last compile log has nothing to do with resourcefeaturezlib...