Re: atk 'missing symbols' problem since gnome-3-14
- From: John Emmas <johne53 tiscali co uk>
- To: gtk-devel-list <gtk-devel-list gnome org>
- Subject: Re: atk 'missing symbols' problem since gnome-3-14
- Date: Sat, 27 Sep 2014 07:54:53 +0100
On 26 Sep 2014, at 23:33, Arnavion wrote:
If I'm understanding the situation correctly, you're building a binary
that includes an atk(mm) header that has some functions marked with
dllexport (from the POV of the compiler when it's compiling your
code).
[...]
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)'.
That is correct, and is mentioned in MSDN [1] and also explained in
this answer on StackOverflow [2]. It's sub-optimal to not use
dllimport for functions and outright incorrect to not use it for data.
Yes, that just about summarises the situation. I first discovered this happening in gtkmm (class
Gtk::SpinButton) - but during my investigations I realised that the same anomaly might (potentially) be
present in the other "mm" libraries (particularly so in giomm and atkmm). There isn't necessarily a problem
right at this moment. It's more the case that there's "a problem waiting to happen".
FWIW I also noticed that libatk defines ATK_VAR for dealing with data, as opposed to functions. That should
help to avoid the data issue but like you said Arnavion, function handling is currently sub-optimal (although
it doesn't seem like a massive job to fix it). I'm just flagging the situation up really. It could probably
benefit from being tidied up at some stage but it's not something which needs 'imminent' attention...
John
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]