[fixed] [regression] [TD] not compilable

Here's the place for discussion related to coding in FreeCAD, C++ or Python. Design, interfaces and structures.
User avatar
uwestoehr
Veteran
Posts: 4320
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

Re: [regression] [TD] not compilable

Post by uwestoehr »

wmayer wrote: Sun Jun 26, 2022 10:38 am The current master compiles fine on Linux and with clang on MSYS/MinGW. It's only the MSVC compiler that sucks.
I updated now from MSVC 2019 to 2022 but I get the exact same linker error.
wmayer
Founder
Posts: 18819
Joined: Thu Feb 19, 2009 10:32 am

Re: [regression] [TD] not compilable

Post by wmayer »

There is no need that QGVPage directly inherits from ParameterGrp::ObserverType. It can also be moved to a private class that will be declared and implemented in the source file. So, the QGIView no longer sees the extra ParameterGrp::ObserverType.

So, can you try this please?
td_msvc_fix_link_failure.txt
(6.39 KiB) Downloaded 6 times
User avatar
wandererfan
Veteran
Posts: 4806
Joined: Tue Nov 06, 2012 5:42 pm

Re: [regression] [TD] not compilable

Post by wandererfan »

@wmayer Thank you. This seems to work fine on linux.

@uwestoehr a branch with the patch applied is available here: https://github.com/WandererFan/FreeCAD/tree/wmPatch
User avatar
uwestoehr
Veteran
Posts: 4320
Joined: Sun Jan 27, 2019 3:21 am
Location: Germany

Re: [regression] [TD] not compilable

Post by uwestoehr »

wmayer wrote: Sun Jun 26, 2022 6:03 pm So, can you try this please?
td_msvc_fix_link_failure.txt
Many thanks!
This works. Since @wandererfan already reported it works for him too, I committed it now (that I have a compilable master :) ).
LarryWoestman
Posts: 40
Joined: Fri Oct 09, 2020 4:56 pm
Location: Oregon, USA

Re: [regression] [TD] not compilable

Post by LarryWoestman »

I just pulled and successfully built "master" on Windows 11 with MSVC, so it worked for me, also :-)
wmayer
Founder
Posts: 18819
Joined: Thu Feb 19, 2009 10:32 am

Re: [fixed] [regression] [TD] not compilable

Post by wmayer »

@wandererfan
While talking about the issues of git commit 9894964eb69e90 there is one further minor thing:

the class QGSPage defines the members m_renderer, drawBkg and balloonCursor that are initialized in the constructor but then used nowhere else. clang raises e.g. the warning warning: private field 'm_renderer' is not used [-Wunused-private-field].

Will the class QGSPage be extended by using the members in some methods or can they be removed?
User avatar
wandererfan
Veteran
Posts: 4806
Joined: Tue Nov 06, 2012 5:42 pm

Re: [fixed] [regression] [TD] not compilable

Post by wandererfan »

wmayer wrote: Mon Jun 27, 2022 9:58 am Will the class QGSPage be extended by using the members in some methods or can they be removed?
QGSPage (QGraphcisScene) is new and took over some scene related tasks that were in QGVPage (QGraphicsView). It is entirely possible some QGVPage code came along for the ride. Eventually, QGSPage will handle things like box selection of edges.

Thanks for catching this. I will check it out.
Post Reply