error : undefined reference to `qt_resourceFeatureZlib'
-
@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...
-
@jsulm said in error : undefined reference to `qt_resourceFeatureZlib':
The problem from your last compile log has nothing to do with resourcefeaturezlib...
You are right. I built my project step by step. And i added every code block line by line.
Problem is about gstreamer.
PKGCONFIG += gstreamer-1.0 gstreamer-video-1.0 #Qt5GStreamer-1.0 #Qt5GStreamerQuick-1.0
When i add this line there is no error in my project.
But i uncomment 2 packages which are #Qt5GStreamer-1.0 #Qt5GStreamerQuick-1.0 , and they cause an error.PKGCONFIG += gstreamer-1.0 gstreamer-video-1.0 Qt5GStreamer-1.0 Qt5GStreamerQuick-1.0
Probably qt can't find the path for gstreamer.
-
Hi,
Might be a silly question but did you install the corresponding development packages ?
-
Of course,
Maybe i coludn't explain properly.
When i install qt from terminal (Default Qt 5.9 for Ubuntu 18.04) and install packages, everything is ok.
When i install qt from offline source (Qt 5.12 or Qt 5.14) and install same package like above, qt can't see same libraries.
When i install qt from terminal (Default Qt 5.12 for Ubuntu 20.04) and install packages, everything is ok again.So, i think the problem is about path or something else about location on system.
Maybe additional settings are required for offline installation but i couldn't find anything....
-
@sberkantgulen The question was: did you install development packages for GStreamer?
-
@sberkantgulen said in error : undefined reference to `qt_resourceFeatureZlib':
packages
Yes, In all 3 cases I installed all required packages the same way. Gstreamer and everything else.
When i install qt from terminal (Default Qt 5.9 for Ubuntu 18.04) and install packages, everything is ok.
When i install qt from offline source (Qt 5.12 or Qt 5.14) and install same package like above, qt can't see same libraries. (Error - My problem is this topic)
When i install qt from terminal (Default Qt 5.12 for Ubuntu 20.04) and install packages, everything is ok again. -
@sberkantgulen said in error : undefined reference to `qt_resourceFeatureZlib':
Gstreamer and everything else
To make sure the is no misunderstanding: @SGaist was asking about GStreamer development packages (those have -dev postfic). Did you install those? Can you show which exact GStreamer packages are installed?
-
My packages for gstreamer:
sudo apt-get install --reinstall libxcb-xinerama0
sudo apt-get install -y libqt5gstreamerquick-1.0-0
sudo apt-get install -y libcairo2-dev
sudo apt-get install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
sudo apt-get install libgstreamer-plugins-base1.0-d
sudo apt-get install libqt5gstreamer-dev
sudo apt-get install libgstreamer1.0-dev
sudo apt-get install libgstreamer-plugins-base1.0-d
sudo apt-get install libgstreamermm-1.0-dev
sudo apt-get install qtdeclarative5-devAnd i could see packages in both path which are;
"/usr/lib/x86_64-linux-gnu/" and "/usr/lib/x86_64-linux-gnu/pkgconfig/"
After these installations i can run my program if i install from terminal with commands:
sudo apt install build-essential
sudo apt install qtcreator
sudo apt install qt5-defaultBut i can't run program if i install from offline source. Really i can't understand the difference.