libxml2的C++封装库libxml++
libxml++依赖libxml2和glibmm-2.4
glibmm-2.4是GTK的C++接口。
glibmm-2.4依赖libsigc++和GTK+(glib-2.0)
glib包括:gthread、gobject、gmodule、gio模块
glib依赖libffi
libxml2:http://xmlsoft.org/
libxml++:http://libxmlplusplus.sourceforge.net/
glibmm-2.4:http://www.gtkmm.org/en/
libsigc++和glib都可在下列地址中找到:http://ftp.gnome.org/pub/gnome/sources/
libffi:http://sourceware.org/libffi/
glibmm功能:
- Use inheritance to derive custom widgets.
- Type-safe signal handlers, in standard C++.
- Polymorphism.
- Use of Standard C++ Library, including strings, containers, and iterators.
- Full internationalisation with UTF8.
- Complete C++ memory management
- Object composition
- Automatic deallocation of dynamically allocated widgets.
- Full use of C++ namespaces.
- No macros.
- Cross-platform: Linux (gcc), FreeBSD (gcc), NetBSD (gcc), Solaris (gcc, Forte), Win32 (gcc, MSVC++ .Net 2003, 2005, 2008), MacOS X (gcc), others
- Free software and free of cost for both Open Source and proprietary development.
- Discussed, designed and implemented in public.
libsigc++功能:
- Compile time typesafe callbacks (faster than run time checks)
- Typesafety violations report line number correctly with template names (no tracing template failures into headers)
- No compiler extensions or meta compilers required
- Proper handling of dynamic objects and signals (deleted objects will not cause seg faults)
- Extendable API at any level: signal, slot, connection and trackable
- Extensions do not require alteration of basic components
- User definable accumulators
- A variety of adaptors to change the callback signature: bind, hide, retype, compose and lambda call groups
- Various compilers and platforms are supported: gcc, cygwin, mingw32, MS .NET 2003, Sun Forte C++, Compaq C++, Intel C++, IBM AIX, Tru64, IRIX MipsPro.
GTK功能:
编译:
设置环境变量:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
先编译libffi
./configure
make
make install
编译glib
./configure
make
make install
编译libsigc++
./configure
make
make install
编译glibmm
./configure
make
make install
编译libxml++
./configure
make
make install
所有库都被安装到:/usr/local/lib下。