Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • VLC VLC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 3,728
    • Issues 3,728
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 228
    • Merge requests 228
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • VideoLANVideoLAN
  • VLCVLC
  • Issues
  • #27588
Closed
Open
Issue created Dec 02, 2022 by Johannes Kauffmann@JohannesKauffmannContributor

Qt contrib .pc files not usable without forcing CXXFLAGS=`-I $CONTRIB_PREFIX/include`

The .pc files produced by the Qt contrib only have -I${includedir}/QtCore (for qtcore, same for network and gui etc) in the Cflags property, and not additionally -I${includedir}. So, when the qt plugin is compiled using only the flags from the .pc files in the contrib, it fails like so:

FAILED: modules/vlc-qt-check.p/gui_qt_vlc-qt-check.cpp.o
c++ -Imodules/vlc-qt-check.p -Imodules -I../modules -I. -I.. -Iinclude -I../include -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtCore -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtGui -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtWidgets -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtSvg -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtQml -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtNetwork -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtQuick -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtQmlModels -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtQuickWidgets -I/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtQuickControls2 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++14 -g -DHAVE_CONFIG_H=1 -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -fPIC -MD -MQ modules/vlc-qt-check.p/gui_qt_vlc-qt-check.cpp.o -MF modules/vlc-qt-check.p/gui_qt_vlc-qt-check.cpp.o.d -o modules/vlc-qt-check.p/gui_qt_vlc-qt-check.cpp.o -c ../modules/gui/qt/vlc-qt-check.cpp
In file included from /home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtWidgets/QApplication:1,
                 from ../modules/gui/qt/vlc-qt-check.cpp:26:
/home/johannes/repos/vlc/contrib/x86_64-linux-gnu/include/QtWidgets/qapplication.h:43:10: fatal error: QtWidgets/qtwidgetsglobal.h: No such file or directory
   43 | #include <QtWidgets/qtwidgetsglobal.h>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is uncovered by the WIP meson work (!475 (merged)) as it does not force add the contrib include dir to CXXFLAGS.

Now, one could argue that this is the fault of the meson MR, but looking at the official Ubuntu and Debian Qt packages, they also have two different include dirs: -I${includedir} and -I${includedir}/QtCore.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking

VideoLAN code repository instance