MSVC compilation problem in git master

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

MSVC compilation problem in git master

John Emmas-2
Please point me to the right place (if this isn't the correct mailing list...)

I've just updated gdk-pixbuf from git master.  'gdk-pixbuf.c' used to contain this #include at line 38:-

      #include "gdk-pixbuf-marshal.c"

However... in commit  #591f959adb  that got changed to this:-

      #include "gdk-pixbuf-marshal.h"


and the explanation given was "Do not include the source, otherwise we're going to compile symbols twice".  Unfortunately though, when building with MSVC, I now get unresolved symbols (due to the fact that gdk-pixbuf-marshal.c isn't getting compiled any more).  I'm probably missing something obvious but how does it get compiled now?  I can't see it in any of the Visual C++ projects...

John


_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: MSVC compilation problem in git master

Emmanuele Bassi
On 25 August 2017 at 10:13, John Emmas <[hidden email]> wrote:

> Please point me to the right place (if this isn't the correct mailing
> list...)
>
> I've just updated gdk-pixbuf from git master.  'gdk-pixbuf.c' used to
> contain this #include at line 38:-
>
>       #include "gdk-pixbuf-marshal.c"
>
> However... in commit  #591f959adb  that got changed to this:-
>
>       #include "gdk-pixbuf-marshal.h"
>
> and the explanation given was "Do not include the source, otherwise we're
> going to compile symbols twice".  Unfortunately though, when building with
> MSVC, I now get unresolved symbols (due to the fact that
> gdk-pixbuf-marshal.c isn't getting compiled any more).  I'm probably missing
> something obvious but how does it get compiled now?  I can't see it in any
> of the Visual C++ projects...

It gets compiled alongside the rest of the sources — see
`libgdk_pixbuf_2_0_la_SOURCES` in the Autotools build.

The Visual Studio project files are not up to date, and since we're
switching the build to Meson, I don't think they'll stay in tree much
longer.

Ciao,
 Emmanuele.

--
https://www.bassi.io
[@] ebassi [@gmail.com]
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: MSVC compilation problem in git master

John Emmas-2
On 25/08/2017 10:17, Emmanuele Bassi wrote:
> The Visual Studio project files are not up to date, and since we're
> switching the build to Meson, I don't think they'll stay in tree much
> longer.
>

Ooer... are you saying that Meson will be compulsory for future builds?  
I assumed it was an addition to the existing build systems, rather than
a replacement.

What will happen for those of us who need the MSVC debugger?  AFAIK it's
only available if you build using Microsoft's VC project/sln files (or
does Meson generate them maybe?

John
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: MSVC compilation problem in git master

Emmanuele Bassi
On 25 August 2017 at 14:39, John Emmas <[hidden email]> wrote:

> On 25/08/2017 10:17, Emmanuele Bassi wrote:
>>
>> The Visual Studio project files are not up to date, and since we're
>> switching the build to Meson, I don't think they'll stay in tree much
>> longer.
>>
>
> Ooer... are you saying that Meson will be compulsory for future builds?  I
> assumed it was an addition to the existing build systems, rather than a
> replacement.

For GTK+ master, yes: we switched to Meson exclusively, and dropped
all other build systems.

For GTK+ stable branches, we only use Autotools.

For other dependent libraries — GLib, GdkPixbuf, Pango — we added
Meson in parallel with Autotools, but the long term plan is to drop
the Autotools build.

> What will happen for those of us who need the MSVC debugger?  AFAIK it's
> only available if you build using Microsoft's VC project/sln files (or does
> Meson generate them maybe?

Yes, Meson can generate Visual Studio projects out of the box. It is
one of the reasons why we decided to migrate to it.

Ciao,
 Emmanuele.

--
https://www.bassi.io
[@] ebassi [@gmail.com]
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list
Reply | Threaded
Open this post in threaded view
|

Re: MSVC compilation problem in git master

Gtk+ - Dev - General mailing list
In reply to this post by Emmanuele Bassi
Hi John/Emmanuele,


Emmanuele Bassi 於 2017/8/25 下午 05:17 寫道:
> On 25 August 2017 at 10:13, John Emmas <[hidden email]> wrote:
>
>        #include "gdk-pixbuf-marshal.c"
>
> However... in commit  #591f959adb  that got changed to this:-
>
>        #include "gdk-pixbuf-marshal.h"

You need to ensure that gdk-pixbuf-marshal.c is in your GDK-Pixbuf
project, since as far as I recall you did your own projects for Visual
Studio 2005.  Note that the projects in the tarball does contain that
source file upon release, since the complete projects for the GDK-Pixbuf
DLL is filled in by autotools when it packages the tarball (i.e. 'make
dist'), so you only see things like 'win32/vs9/gdk-pixbuf.vcprojin', not
'win32/vs9/gdk-pixbuf.vcproj' in the GIT source tree, for instance.
> The Visual Studio project files are not up to date, and since we're
> switching the build to Meson, I don't think they'll stay in tree much
> longer.

Hmm, I actually did some enhancements in there yesterday, and tested
them (along with the vanilla 2.36.9 tarball from the GNOME FTP) and they
work fine (i.e. that required gdk-pixbuf-marshal.c is indeed in the
projects upon packaging the source tarballs).  The reason I am bringing
this up is that Meson itself will require Visual Studio 2010 and later,
so the projects (especially the 2008 ones, which I will do my best to
maintain after the autotools build system is dropped) will continue to
be maintained, until the time when the sources will require compiler
features that 2008 cannot support easily.  So, please do let us know
about any issues in the MSVC projects, because I do want to ensure that
MSVC builds will continue to work for the GNOME modules that support
MSVC currently.

Hope this helps.

With blessings, and cheers!
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list