Re: atk 'missing symbols' problem since gnome-3-14
- From: John Emmas <johne53 tiscali co uk>
- To: gtk-devel-list gnome org
- Subject: Re: atk 'missing symbols' problem since gnome-3-14
- Date: Fri, 26 Sep 2014 20:01:52 +0100
On 26/09/2014 11:51, John Emmas wrote:
Also, since my last post I've discovered why atkmm was also failing
to build [...] Now that I'm managing to generate those files
correctly again, everything's now building fine.
Oh, one more thing, before I forget it....
I think I'm right in saying that, for Windows, ATK_AVAILABLE_IN_ALL can
only be defined as either 'extern' or '__declspec (dllexport) extern'.
This might cause problems with the fact that libatkmm is routinely
#including 'atk-enum-types.h'. When building atkmm, the symbols
declared inside atk-enum-types.h will be wrongly defined as exported
symbols when they should be defined as imported. When importing for use
by some other library, they should really be defined as '__declspec
(dllimport)'.
At the end of last year I discovered that some very obscure problems can
arise if we try to import symbols from a DLL without using
'__declspec(dllimport)'. Here's my description from the time:-
https://mail.gnome.org/archives/gtkmm-list/2013-December/msg00002.html
To be fair, that specific problem was caused by not having any import
specifier at all (and it only affected imported data - not imported
functions). Technically though, I don't know if a similar issue will
arise from declaring dllexport when we meant to use dllimport. It might
produce the same problem - or a different problem - or no problem at
all. I genuinely don't know - but it's always better to be safe, rather
than sorry!!
I know that Fan Chun-wei is hoping to look into this soon for libatkmm
but it probably needs tidying up in libatk too. Hopefully, someone can
find some time to give it some thought.... Best regards,
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]