Help with QtGStreamer undefined reference to QGST::init
-
Hi and welcome to devnet,
Might be a silly question but: do you have pkg-config running on Windows ?
-
Yes, I do have it running, however now I am getting an error "QtCore/QtGlobal: No such file or directory, so I added the include path, "C:\Qt\Qt5.4.1\5.4\mingw491_32\include" but i am still getting the same error.
-
Then there's something wrong with either your project or your setup. You shouldn't need to add anything to find Qt's headers
-
Do you have any ideas that could help?
-
Recheck your pro file: do you have any line line
QT =
orINCLUDEPATH =
? Note the missing + -
No, this is my code:
# This is a qmake project file, provided as an example on how to use qmake with QtGStreamer. TEMPLATE = app TARGET = player # produce nice compilation output CONFIG += silent # Tell qmake to use pkg-config to find QtGStreamer. CONFIG += pkgconfig # Now tell qmake to link to QtGStreamer and also use its include path and Cflags. contains(QT_VERSION, ^4\\..*) { PKGCONFIG += QtGStreamer-1.0 QtGStreamerUi-1.0 } contains(QT_VERSION, ^5\\..*) { PKGCONFIG += Qt5GStreamer-1.0 Qt5GStreamerUi-1.0 } QT += core quick widgets CONFIG += qt console bootstrap # Recommended if you are using g++ 4.5 or later. Must be removed for other compilers. #QMAKE_CXXFLAGS += -std=c++0x # Recommended, to avoid possible issues with the "emit" keyword # You can otherwise also define QT_NO_EMIT, but notice that this is not a documented Qt macro. DEFINES += QT_NO_KEYWORDS # Input HEADERS += mediaapp.h player.h SOURCES += main.cpp mediaapp.cpp player.cpp INCLUDEPATH += C:\qt-gstreamer-1.2.0\src
Line 3 and 4 (TEMPLATE and TARGET) made no difference when I added a '+' before the '='
-
TEMPLATE and TARGET should be used with = . They contain only one value.
Do you still have that error if you don't use pkgconfig ?
-
Then create a default widget project and see if you can built it
-
Then keep that one and introduce one by one the elements of your other project until it either fails to build or build successfully
-
For every element in the pro file, it does not fail if I put '#include <QGst/Init>' then I get the error 'QtCore/QtGlobal: No such file or directory' Then if I comment it back out, and run qmake, then build, I get no error. If I comment it out I get the error 'cannot find boost/config.hpp' until I run qmake again.
I added 'C:\boost_1_58_0' to the include path, commented out '#include <QGst/Init>' ran qmake, and uncommented it, and it built with no error. Then I ran qmake again, and it game me the 'QtCore/QtGlobal' error again
-
Ok… Then the silly question: do you have a QtGlobal file ? If so where is it ?
-
Yes, I have 5 copies, they are in
"C:\Qt\Qt5.4.1\5.4\android_armv5\include\QtCore\QtGlobal"
"C:\Qt\Qt5.4.1\5.4\android_armv7\include\QtCore\QtGlobal"
"C:\Qt\Qt5.4.1\5.4\android_x86\include\QtCore\QtGlobal"
"C:\Qt\Qt5.4.1\5.4\mingw491_32\include\QtCore\QtGlobal"
"C:\Qt\Qt5.4.1\5.4\Src\qtbase\include\QtCore\QtGlobal"Should I have a different one somewhere else? I am building with Mingw
-
Did you modify your kits ?
-
No, I even just got done uninstalling and reinstalling Qt 5.4.1 and QtCreator 3.3.2 and I just got the same QtCore error
-
I then added the pkgconfig and config then instead of '#include <QGst/Init>' I did '#include <QGst/init.h>' and I got back to the error of undefined reference to 'QGst::init
-
Check the output of pkg-config for QtGStreamer, compare it to the build output of your application. Check the -I lines to see if something is currently modifying them in the wrong way