Am Do., 8. Dez. 2022 um 16:11 Uhr schrieb Kornel Benko <kor...@lyx.org>:

> Am Thu, 8 Dec 2022 09:52:29 -0500
> schrieb Scott Kostyshak <skost...@lyx.org>:
>
> > On Mon, Dec 05, 2022 at 10:15:18PM +0100, Yu Jin wrote:
> > > Am Mo., 5. Dez. 2022 um 10:39 Uhr schrieb Pavel Sanda <sa...@lyx.org>:
> > >
> > > >
> > > > Given that on major linux distributions will still link against qt5
> > > > I think stikcing for 2.4 with Qt 5 is just fine...
> > >
> > >
> > > I think my curiosity helped here :)
> > >
> > > So I found out that there is different version of zlib in the Qt
> versions,
> > > the working Qt has a version 1.2.11 (I can see it in the zlib.h in e.g.
> > > C:\Qt\6.3.1\msvc2019_64\include\QtZlib folder and the broken Qt
> Versions
> > > have 1.2.12 or 13.
> > > I digged a bit more and found that our projects in Visual Studio
> include
> > > those QtZlib folders for some reason:
> > > and lyx's zlib folder gets included further below which means it has
> lower
> > > priority. If I just remove the QtZlib include from the project,
> compilation
> > > works. Can we do something in CMake here so that QtZlib is not
> included?
> >
> > CC'ing Kornel if he has time to take a look at the CMake question.
> >
> > Scott
>
> I really have no idea. I don't even have QtZlib directory on my system.
> Even searching with 'apt-file find QtZlib'
>
> Ok so i found out that QtZlib is a dependency of QtCore and QtCore is a
dependency of Qt6Core5Compat. Since we have
include_directories(${Qt6Core5Compat_INCLUDE_DIRS})

https://git.lyx.org/?p=lyx.git;a=blob;f=CMakeLists.txt;h=4a9c428d4a48c838f9e9cd61fab59c46a330b1b3;hb=HEAD#l837

It includes those dirs. I don't know it does seem kinda suspicious to me,
because actually Qt forces everyone who needs Core to use QtZlib with that,
but I can't evaluate that. I just tried to add a
list(REMOVE_ITEM Qt6Core5Compat_INCLUDE_DIRS
"C:/Qt/6.4.1/msvc2019_64/include/QtZlib")
just before that include_directories command and it works
perfectly fine, everything compiles and runs as it should. With Qt5 it
works fine because we don't include any dirs there but we do with that
compatibility module.
What we could do is use this command:
list(REMOVE_ITEM Qt6Core5Compat_INCLUDE_DIRS
"${CMAKE_PREFIX_PATH}/include/QtZlib")
but it would rather be a workaround than a solution. Any thoughts?
-- 
  Eugene
-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to