[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