MSVC linker errors (gdk-pixbuf-buffer-queue.c)

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

MSVC linker errors (gdk-pixbuf-buffer-queue.c)

John Emmas
When trying to build from the latest git master (using MSVC) I'm seeing
several linker errors which all take the following form:-

error LNK2019: unresolved external symbol _gdk_pixbuf_buffer_queue_new
referenced in function _gdk_pixbuf__tga_begin_load
error LNK2019: unresolved external symbol _gdk_pixbuf_buffer_queue_pull
referenced in function _tga_load_header
error LNK2019: unresolved external symbol _gdk_pixbuf_buffer_queue_flush
referenced in function _tga_read_info

(and a few others).  I added the new source file
(gdk-pixbuf-buffer-queue.c) to my MSVC project - and it definitely is
getting compiled - so I'm guessing that the relevant functions aren't
yet getting exported..?

Do those new function names need to get added to gdk-pixbuf.symbols?  
Thanks,

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 linker errors (gdk-pixbuf-buffer-queue.c)

Fan, Chun-wei
Hi John,

Are you building the loader modules as individual DLLs or are you
buiding the loader modules right into the main GDK-Pixbuf DLL?  It seems
that you are doing the former (this is unlike the MSVC 2008+ projects,
by the way, where all the included loaders are built into the main
GDK-Pixbuf DLL).

 From the autotools Makefiles, if I was right about how you build the
loaders, you need to include the new source (gdk-pixbuf-buffer-queue.c)
to the project where you build the DLL for the TGA loader, *not* the
project for the main GDK-Pixbuf DLL. (Thus, I don't think for now it is
the intention to export those symbols, so we don't update
gdk-pixbuf.symbols at this point).

It seems to me that the autotools files need to be updated where |the
line libstatic_pixbufloader_tga_la_SOURCES =||io-tga.c||||needs to
become ||libstatic_pixbufloader_tga_la_SOURCES
=||io-tga.c||||||gdk-pixbuf-buffer-queue.c|||.

Hope this helps.  With blessings.
_______________________________________________
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 linker errors (gdk-pixbuf-buffer-queue.c)

Ignacio Casal Quinteiro
Hey,

I am adding Benjamin to this discussion since it was him the one adding the new stuff to gdk-pixbuf

Cheers.

On Mon, Oct 19, 2015 at 8:08 AM, Fan, Chun-wei (范君維) <[hidden email]> wrote:
Hi John,

Are you building the loader modules as individual DLLs or are you buiding the loader modules right into the main GDK-Pixbuf DLL?  It seems that you are doing the former (this is unlike the MSVC 2008+ projects, by the way, where all the included loaders are built into the main GDK-Pixbuf DLL).

From the autotools Makefiles, if I was right about how you build the loaders, you need to include the new source (gdk-pixbuf-buffer-queue.c) to the project where you build the DLL for the TGA loader, *not* the project for the main GDK-Pixbuf DLL. (Thus, I don't think for now it is the intention to export those symbols, so we don't update gdk-pixbuf.symbols at this point).

It seems to me that the autotools files need to be updated where |the line libstatic_pixbufloader_tga_la_SOURCES =||io-tga.c||||needs to become ||libstatic_pixbufloader_tga_la_SOURCES =||io-tga.c||||||gdk-pixbuf-buffer-queue.c|||.

Hope this helps.  With blessings.

_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list



--
Ignacio Casal Quinteiro

_______________________________________________
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 linker errors (gdk-pixbuf-buffer-queue.c)

Benjamin Otte
Hey,

The intention is indeed to only link gdk-pixbuf-buffer-queue.c into the tga loader, not into the main libgdkpixbuf.
GdkPixbufBufferQueue is only used by the TGA loader (so far) and as it's utility code for the loaders, it should not be public API.

Benjamin

On Mon, Oct 19, 2015 at 8:10 AM, Ignacio Casal Quinteiro <[hidden email]> wrote:
Hey,

I am adding Benjamin to this discussion since it was him the one adding the new stuff to gdk-pixbuf

Cheers.

On Mon, Oct 19, 2015 at 8:08 AM, Fan, Chun-wei (范君維) <[hidden email]> wrote:
Hi John,

Are you building the loader modules as individual DLLs or are you buiding the loader modules right into the main GDK-Pixbuf DLL?  It seems that you are doing the former (this is unlike the MSVC 2008+ projects, by the way, where all the included loaders are built into the main GDK-Pixbuf DLL).

From the autotools Makefiles, if I was right about how you build the loaders, you need to include the new source (gdk-pixbuf-buffer-queue.c) to the project where you build the DLL for the TGA loader, *not* the project for the main GDK-Pixbuf DLL. (Thus, I don't think for now it is the intention to export those symbols, so we don't update gdk-pixbuf.symbols at this point).

It seems to me that the autotools files need to be updated where |the line libstatic_pixbufloader_tga_la_SOURCES =||io-tga.c||||needs to become ||libstatic_pixbufloader_tga_la_SOURCES =||io-tga.c||||||gdk-pixbuf-buffer-queue.c|||.

Hope this helps.  With blessings.

_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list



--
Ignacio Casal Quinteiro


_______________________________________________
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 linker errors (gdk-pixbuf-buffer-queue.c)

John Emmas
On 19/10/2015 07:08, Fan, Chun-wei (范君維) wrote:
>
> if I was right about how you build the loaders, you need to include
> the new source (gdk-pixbuf-buffer-queue.c) to the project where you
> build the DLL for the TGA loader, *not* the project for the main
> GDK-Pixbuf DLL.
>

On 19/10/2015 10:05, Benjamin Otte wrote:
>
> The intention is indeed to only link gdk-pixbuf-buffer-queue.c into
> the tga loader, not into the main libgdkpixbuf.
>

Thanks guys - that was exactly the mistake I made! (I just added it to
the same project which has the other filenames beginning "gdk-pixbuf-").
I've just moved it into my TGA project and everything's fine now.

John
_______________________________________________
gtk-devel-list mailing list
[hidden email]
https://mail.gnome.org/mailman/listinfo/gtk-devel-list