Phil,
I removed the atkmm import library from linker input and got this
unresolved external

error LNK2001: unresolved external symbol "protected: virtual class
Glib::RefPtr<class Atk::Object> __cdecl
Atk::Implementor::ref_accessibile_vfunc(void)"
(?ref_accessibile_vfunc@Implementor@Atk@@MEAA?AV?$RefPtr@VObject@Atk@@@Glib@
@XZ)


John,
Test program can't be more simple then it is:


#include <gtkmm/window.h>
#include <gtkmm/application.h>

int main(int argc, char* argv[])
{
using namespace Glib;
using namespace Gtk;

RefPtr<Application> app = Application::create( argc, argv, "gtkmm.exe" );

Window win;
app->run(win);
}



On Thu, Nov 19, 2015 at 8:25 PM, Phil Wolff <[email protected]> wrote:

> 1. What if somewhere there's a line that says "#define GTKMM_ATKMM_ENABLED
> 0" ?
> 2. Is libatkmm being included in your link commands?
>
> On 11/19/2015 10:51 AM, codekiddy wrote:
>
>> I wonder why the heck, but it doesn't work for me.
>>
>> I recompiled gtkmm 3 times already at no avail.
>>
>>
>> Used your suggestion to force include a header with following contents:
>>
>>
>> #ifndef GTKMM_ATKMM_ENABLED
>> *#define* *GTKMM_ATKMM_ENABLED 1*
>> #endif
>>
>> I set in Common properties > C\C++ > Advanced > Force Include File > "the
>> name of the file".h
>>
>> This didn't work
>>
>>
>> then I went on and defined preprocessor macro in
>>
>> Common properties > C\C++ > Preprocessor > Preprocessor definitions >
>> GTKMM_ATKMM_ENABLED
>>
>> Rebuilt solution clean, and no luck!
>>
>>
>> I also defined that macro in gtkmmconfig.h as well. recompiled and it
>> still does not work.
>> I also triple checked if gtkmmconfig.h has this macro defined in
>> installation directory where other test project search for headers.
>> Test project include this header by force as well.
>>
>> What am I doing wrong here?
>>
>>
>> On Thu, Nov 19, 2015 at 5:35 PM, John Emmas <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>     On 18/11/2015 21:51, John Emmas wrote:
>>
>>>     earlier today someone mentioned that if GTKMM_ATKMM_ENABLED is
>>> #defined when building the Gtkmm DLL, it must also get #defined in anything
>>> which uses that DLL.  That makes a lot of sense - because otherwise,
>>> certain objects (e.g. class Widget) will have different sizes in different
>>> modules.  To me, that sounds like a promising explanation for this 'delete'
>>> problem.
>>>
>>>     [...]
>>>
>>>     I'll try rebuilding everything, making absolutely sure that
>>> GTKMM_ATKMM_ENABLED is #defined in all modules.  Fingers crossed, that
>>> might solve the problem!
>>>
>>>
>>     Hi Kjell.  I just found some time to try the above strategy and
>>     guess what...  that fixed it !!
>>
>>     codekiddy - the secret to making this work is that every module
>>     which uses gtkmm MUST know the status of GTKMM_ATKMM_ENABLED.  In
>>     theory, gtkmmconfig.h should achieve this - but to be absolutely
>>     certain (for testing purposes) I made use of MSVC's /FI option
>>     (ForceInclude). I used it to force include a specific header file
>>     in which I'd #defined GTKMM_ATKMM_ENABLED.  This guarantees that
>>     _every_ compiled source file will know about that #define.  Simply
>>     making the change in gtkmmconfig.h should achieve the same thing
>>     but it looks like that isn't quite working properly.
>>
>>     In fact, I know it isn't working properly - because after I used
>>     the /FI option, everything which previously linked to gtkmm now
>>     also needed to get linked to atkmm.
>>
>>     So the problem is that something somewhere needs to be #including
>>     gtkmmconfig.h but is failing to do so.  My guess would be
>>     'gtkmm/window.cc' (maybe??)  Perhaps even anything that references
>>     a Widget?  If it forgets to #include widget.h the wrong size might
>>     be assumed for 'Widget'.  Admittedly I'm guessing here - but it
>>     does seem like there's an important #include missing somewhere  :-(
>>
>>     John
>>
>>     _______________________________________________
>>     gtkmm-list mailing list
>>     [email protected] <mailto:[email protected]>
>>     https://mail.gnome.org/mailman/listinfo/gtkmm-list
>>
>>
>>
>>
>> _______________________________________________
>> gtkmm-list mailing list
>> [email protected]
>> https://mail.gnome.org/mailman/listinfo/gtkmm-list
>>
>
> --
> Just remember, if we get caught, you're deaf and I don't speak English.
>     -- Unknown
> _______________________________________________
> gtkmm-list mailing list
> [email protected]
> https://mail.gnome.org/mailman/listinfo/gtkmm-list
>
_______________________________________________
gtkmm-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/gtkmm-list

Reply via email to