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