[gtkada] Re: GtkAda Windows

Camek, Alexander Alexander.Camek at Elektrobit.com
Fri Mar 30 09:59:40 CEST 2007


Hi,

> -----Original Message-----
> From: gtkada-bounces at lists.adacore.com 
> [mailto:gtkada-bounces at lists.adacore.com] On Behalf Of Stefan Bellon
> Sent: Friday, March 30, 2007 12:33 AM
> To: gtkada at lists.adacore.com
> Subject: [gtkada] Re: GtkAda Windows
> 
> "Camek, Alexander" wrote:
> 
> >  case Common.OS is
> >  			when "VMS" =>
> > 				null;
> >       when "linux" | "Unix" =>
> >          null;
> >       when "windows" | "Windows_NT" =>
> >          for Library_Options
> >            use -- GtkAda.Linker'Linker_Options &
> >      			   		(Common.Path & 
> "\framework\" &
> >               Framework'Object_Dir & "\framework.lib");
> >    end case;
> 
> As I see, you are using what I suggested in comp.lang.ada, 
> but you have commented out the GtkAda.Linker'Linker_Options. 

Yes I used your info, because then i can link my dlls with the symbols
definied in my main programm!
I commented out the GtkAda.Linker'Linker_Options, because in my
gtkada.gpr (i use here) there is no linker_options.
I found out by sourcecode diff, that in the Gtkada Pro version (from
adacore), i use on my linux system, there are these linker options set.
But in the GPL Version here on my Windows system there are no linker
options in the gpr file, only some pragma Linker_Options in the main
Gtkada file.

> The result of which is, that you get missing symbols from 
> GtkAda when linking.

This would be the problem, when during linkage the lib is missing, but
my linker says, it uses the libgtkada:
C:\GNAT\bin\gcc.exe -shared -o
c:\projects\my_programm\lib\my_programm.dll 
-LC:/GNAT/lib/gcc/pentium-mingw32msv/3.4.6/adalib/ 
c:\projects\my_programm\obj\b~my_programm.o 
c:\projects\my_programm\obj\callbacks_my_programm.o 
c:\projects\my_programm\obj\my_programm-draw_window-callbacks.o 
c:\projects\my_programm\obj\my_programm-draw_window.o 
c:\projects\my_programm\obj\my_programm-events.o 
c:\projects\my_programm\obj\my_programm-ga.o 
c:\projects\my_programm\obj\my_programm-plot_window-callbacks.o 
c:\projects\my_programm\obj\my_programm-plot_window.o 
c:\projects\my_programm\obj\my_programm.o 
c:\projects\my_programm\obj\my_programm_intl.o 
-L./ 
-Lc:\projects\my_programm\obj\ 
-Lc:\projects\framework\obj\ 
-Lc:\gtkada\include\gtkada\ (<-- HERE THE GTKADA PATH)
-Lc:\projects\c2ada\lib\ 
-Lc:\gnat\lib\gnat\win32ada\obj\ 
-Lc:\projects\images\lib\ 
-LC:\GtkAda\bin\ 
-LC:\GtkAda\include\gtkada\
-LC:\GtkAda\lib\gtkada\ 
-LC:\GNAT\bin\ 
-LC:\GNAT\lib\gnat\win32ada\obj\ 
-LC:/GNAT/lib/gcc/pentium-mingw32msv/3.4.6/adalib/ 
-lwin32ada 
-luser32 
-lgdi32 
-lcomdlg32 
-lgtkada   (<---- HERE the library)
-lgtk-win32-2.0 
-lgdk-win32-2.0 
-lgdk_pixbuf-2.0 
-lpangowin32-1.0 
-lpango-1.0 
-lgobject-2.0 
-lgmodule-2.0 
-lglib-2.0 
-luser32 
-Xlinker --stack=0x200000,0x1000 
-mthreads 
-Wl,--stack=0x2000000 
C:\projects\framework\obj\framework.lib 
-Lc:\projects\images\lib -limages 
-Lc:\projects\c2ada\lib -lc2ada 
-LC:/GNAT/lib/gcc/pentium-mingw32msv/3.4.6/adalib/ -lgnarl-2006
-lgnat-2006

To be more specific, i get following undefined refernces, but these
should be defined in the windows version of libgtkada (as they are under
linux OS version), which is used during linking (as seen above):
c:\projects\my_programm\obj\b~my_programm.o: In function
`my_programminit':
c:\projects\my_programm\obj/b~my_programm.adb:400: undefined reference
to `gdk__main_E'
c:\projects\my_programm\obj/b~my_programm.adb:504: undefined reference
to `gtk__item_E'
c:\projects\my_programm\obj/b~my_programm.adb:507: undefined reference
to `gtk__item_E'
c:\projects\my_programm\obj/b~my_programm.adb:511: undefined reference
to `gtk__list_E'
c:\projects\my_programm\obj/b~my_programm.adb:514: undefined reference
to `gtk__list_E'
c:\projects\my_programm\obj/b~my_programm.adb:586: undefined reference
to `gtk__combo_E'
c:\projects\my_programm\obj/b~my_programm.adb:589: undefined reference
to `gtk__combo_E'
c:\projects\my_programm\obj/b~my_programm.adb:587: undefined reference
to `gtk__combo___elabs'
c:\projects\my_programm\obj/b~my_programm.adb:512: undefined reference
to `gtk__list___elabs'
c:\projects\my_programm\obj/b~my_programm.adb:508: undefined reference
to `gtk__item___elabb'
c:\projects\my_programm\obj/b~my_programm.adb:509: undefined reference
to `gtk__item_E'
c:\projects\my_programm\obj/b~my_programm.adb:505: undefined reference
to `gtk__item___elabs'
c:\projects\my_programm\obj\my_programm-plot_window.o: In function
`my_programm__plot_window__initialize':
C:\Projects\realis\share\my_programm\my_programm-plot_window.adb:67:
undefined reference to `gtk__combo__gtk_new'

Maybe I missed something to add or have I to build the whole gtkada from
the sources?
Thanks for every help. I am at my wits' end.

Greetings 

Alexander

 


----------------------------------------------------------------
Please note: This e-mail may contain confidential information
intended solely for the addressee. If you have received this
e-mail in error, please do not disclose it to anyone, notify
the sender promptly, and delete the message from your system.
Thank you.



More information about the gtkada mailing list