[LyX/master] Allow compiling with Qt6

Enrico Forestieri forenr at lyx.org
Tue Mar 16 18:11:13 UTC 2021


On Tue, Mar 16, 2021 at 01:48:43PM -0400, Scott Kostyshak wrote:
> On Tue, Mar 16, 2021 at 10:44:13AM +0100, Enrico Forestieri wrote:
> > On Mon, Mar 15, 2021 at 10:52:19PM -0400, Scott Kostyshak wrote:
> > > 
> > > Are there still QRegExp that need to be changed? I got an error from
> > > src/support/qstring_helpers.cpp.
> > 
> > I actually don't know. Let me explain. There should be a compatibility
> > layer for using Qt5 constructs, so I didn't search for all occurrences
> > of QRegExp's but only changed the places where I was getting compiling
> > errors. The code in qstring_helpers.cpp compiled without issues for me
> > on both Linux and Windows, and thus I did not touch it.
> 
> I see. I think I might be missing the compatibility layer module. When
> installing Qt, I just chose the default Qt 6.0.2 but perhaps I need to
> customize the installation to include the Qt5 compatibility module.
> 
> > What kind of error are you getting?
> 
>   CXX      qstring_helpers.o
> qstring_helpers.cpp:21:10: fatal error: QRegExp: No such file or directory
>    21 | #include <QRegExp>
>       |          ^~~~~~~~~
> compilation terminated.
> make[5]: *** [Makefile:985: qstring_helpers.o] Error 1
> make[5]: Leaving directory '/home/vbox/lyxbuilds/qttest/repo/src/support'
> make[4]: *** [Makefile:831: all] Error 2
> make[4]: Leaving directory '/home/vbox/lyxbuilds/qttest/repo/src/support'
> make[3]: *** [Makefile:2588: all-recursive] Error 1
> make[3]: Leaving directory '/home/vbox/lyxbuilds/qttest/repo/src'
> make[2]: *** [Makefile:1685: all] Error 2
> make[2]: Leaving directory '/home/vbox/lyxbuilds/qttest/repo/src'
> make[1]: *** [Makefile:578: all-recursive] Error 1
> make[1]: Leaving directory '/home/vbox/lyxbuilds/qttest/repo'
> make: *** [Makefile:473: all] Error 2

Please, save the attached file and then issue the following commands
(replace qmake-qt6 with the path to the Qt6 qmake):

qmake-qt6 test.pro -o Makefile
make -s -f Makefile INCPATH

Does the output include a path with QtCore5Compat in it? If not, then
you are missing the qt5compat module.

For compiling LyX the necessary modules are qtbase, qtsvg, and qt5compat.

-- 
Enrico
-------------- next part --------------
qtHaveModule(core):		QT += core
qtHaveModule(core5compat):	QT += core5compat
qtHaveModule(concurrent):	QT += concurrent
qtHaveModule(gui):		QT += gui
qtHaveModule(svg):		QT += svg
qtHaveModule(widgets):		QT += widgets
percent.target = %
percent.commands = @echo -n "\$(\$(@))\ "
QMAKE_EXTRA_TARGETS += percent


More information about the lyx-devel mailing list