[Liblas-devel] naming in dotnet

Martin Rodriguez mrodriguez at stereocarto.com
Mon Aug 18 02:56:47 EDT 2008


Hi:

 

Yesterday i was studying the naming convention in gtk and i was wrong
like mateus said. They key is in the static link in windows and the
link in linux which is the same, but the libraries are different.

 

This makes me think in implement a system like this:

 

-          Compile the shared libraries

-          Replace the shared library name  in the CAPI api of c#
depending if we are in linux or windows.

-          Compile the c# DLL.

-          Move the shared library and the c# library to the same
folder.

 

 

Regards.

 

For if someone find interesting the convention of GTK between linux and
windows I write  information in the next lines.

 

 

GOBJECT linux

libgobject-2.0.a  libgobject-2.0.so (link)    libgobject-2.0.so.0 (link)
libgobject-2.0.so.0.1600.4 (shared)

GOBJECT windows

libgobject-2.0.lib (static) libgobject-2.0.dll.a (static link)
libgobject-2.0-0.dll

 

 

CAIRO linux

libcairo.a (static)           libcairo.so (link) libcairo.so.2.dll
(link)     libcairo.so.2.17.3.dll (shared)

CAIRO windows

cairo.lib (static) libcairo.dll.a (static link) libcairo-2.dll (shared)

 

GLIB linux

libglib-2.0.a(static)         libglib-2.0 (static link) libglib-2.0.so.0
(static link) libglib-2.0.so.0.1600.4 (shared)

GLIB windows

lib-2.0.lib(static)            libglib-2.0.dll.a(static link)
libglib-2.0-0.dll(shared)                         

 

 

GTK names are totally different.

GTK+ linux

libgtk-x11-2.0.a libgtk-x11-2.0.so (link)   libgtk-x11-2.0.so.0 (link)
libgtk-x11-2.0.so.0.1200.9 (shared)

GTK+ windows

libgtk-win32-2.0.lib         libgtk-win32-2.0.a.dll (static link)
libgtk-win32-2.0-0.dll (shared)

 

 

GTKMM linux (gtk+ bindings to c++)

libgtkmm-2.4.a (static)   libgtkmm-2.4.so (link)
libgtkmm-2.4.so.1(link)  libgtkmm-2.4.so.1.0.30 (library)

GTKMM windows

libgtkmm-2.4-1.dll (shared)

 

 

 

pkgconfig solve the differences because in windows use the static link
which have the same version in a linux link. Besides you

have target variable which help a lot in some cases like gtk+2.0 for
example (win32-x11):

 

pkgconfig is a nice tool for developers. It comes integrated with anjuta
and you can use it in netbeans or code::blocks to multiplatform
programming.

http://pkg-config.freedesktop.org/wiki/

pkgconfig folder in ubuntu and debian:

/usr/lib/pkgconfig

pkgconfig folder in windows:

c:\gtk\lib\pkgconfig

 

pkg file for gtk In linux:

 

 

____________________________________________________

prefix=/usr

exec_prefix=${prefix}

libdir=${exec_prefix}/lib

includedir=${prefix}/include

target=x11

 

gtk_binary_version=2.10.0

gtk_host=i486-pc-linux-gnu

 

Name: GTK+

Description: GIMP Tool Kit (${target} target)

Version: 2.12.9

Requires: gdk-${target}-2.0 atk cairo

Libs: -L${libdir} -lgtk-${target}-2.0 

Cflags: -I${includedir}/gtk-2.0 

 

____________________________________________________

 

pkg file for gtk in windows:

____________________________________________________

prefix=/target

exec_prefix=${prefix}

libdir=${exec_prefix}/lib

includedir=${prefix}/include

target=win32

 

gtk_binary_version=2.10.0

gtk_host=i386-pc-mingw32

 

Name: GTK+

Description: GIMP Tool Kit (${target} target)

Version: 2.12.9

Requires: gdk-${target}-2.0 atk cairo

Libs: -L${libdir} -lgtk-${target}-2.0 

Cflags: -I${includedir}/gtk-2.0 -mms-bitfields

 

____________________________________________________

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/liblas-devel/attachments/20080818/3a54fbac/attachment.html


More information about the Liblas-devel mailing list