Needed Help with Gtk+ 2.8, Gtkmm 2.8, and .Net 2005



Hi all,

well the "bug" I found in GTKmm 2.8 when compiling with .Net 2005 (XP p-yuk box) is below.  The solution that I HAD to use was to:

1. Edit the C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h   file
2. Comment out the "max" method in the pangomm coverage.h file
3. Then, I recompiled and viola!  All compiled and is working now.

This is a DEFINITE BUG.  So how, this max function, void max( const Glib::RefPtr<Coverage>& other) const;  MUST already be defined as a try C macro, as the error states.  Therefore there is a conflict somewhere.

If this is the right forum to send bug reports too, cool.  If not, sorry.  I'll be glad to repost to the proper list but this BUG needs to be found and fixed for sure.

Other than this, gtkmm is working just great in .Net 2005.

********************************************************************************************************

----- Rebuild All started: Project: Example osganimate, Configuration: Debug Win32 ------
Deleting intermediate and output files for project 'Example osganimate', configuration 'Debug|Win32'
Compiling...
osganimate.cpp
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(146) : warning C4003: not enough actual parameters for macro 'max'
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(146) : error C2226: syntax error : unexpected type 'Glib::RefPtr<T_CppObject>'
       with
       [
           T_CppObject=Pango::Coverage
       ]
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(146) : error C2334: unexpected token(s) preceding ':'; skipping apparent function body
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(146) : error C2760: syntax error : expected '{' not ';'
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(151) : error C2144: syntax error : 'Glib::ArrayHandle<T>' should be preceded by '}'
       with
       [
           T=unsigned char
       ]
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(151) : error C2143: syntax error : missing ')' before ';'
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(151) : error C2059: syntax error : ')'
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(151) : error C2143: syntax error : missing ';' before ')'
C:\GTKmm\include\pangomm-1.4\pangomm/coverage.h(151) : error C2238: unexpected token(s) preceding ';'
Creating browse information file...
Microsoft Browse Information Maintenance Utility Version 8.00.50727
Copyright (C) Microsoft Corporation. All rights reserved.
Build log was saved at "file://c:\Program Files\OpenSceneGraph\VisualStudio\examples\osganimate\Debug\BuildLog.htm"
Example osganimate - 8 error(s), 1 warning(s)
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========

************************************************************************


Other useful tid bits that I use to compile gtk+, gtkmm in .Net 2005:  (Order does not appear to matter but it very well may)

INCLUDES:
c:\GTK\2.8\include
C:\GTK\2.8\include\atk-1.0
C:\GTK\2.8\include\cairo
C:\GTK\2.8\include\fontconfig
C:\GTK\2.8\include\freetype2
C:\GTK\2.8\include\glib-2.0
C:\GTK\2.8\include\gtk-2.0
C:\GTK\2.8\include\gtkglext-1.0
C:\GTK\2.8\include\libart-2.0
C:\GTK\2.8\include\libglade-2.0
C:\GTK\2.8\include\libpng13
C:\GTK\2.8\include\libxml2
C:\GTK\2.8\include\pango-1.0

C:\GTK\2.8\lib\glib-2.0
C:\GTK\2.8\lib\gtk-2.0
C:\GTK\2.8\lib\gtkglext-1.0

C:\GTKmm\include\gdkmm-2.4
C:\GTKmm\include\gideon
C:\GTKmm\include\glibmm-2.4
C:\GTKmm\include\gtkmm-2.4
C:\GTKmm\include\libglademm-2.4
C:\GTKmm\include\libxml++-2.6
C:\GTKmm\include\pangomm-1.4
C:\GTKmm\include\sigc++-2.0
C:\GTKmm\include\atkmm-1.6

C:\GTKmm\lib\gdkmm-2.4
C:\GTKmm\lib\glibmm-2.4
C:\GTKmm\lib\gtkmm-2.4
C:\GTKmm\lib\libglademm-2.4
C:\GTKmm\lib\libxml++-2.6
C:\GTKmm\lib\pkgconfig
C:\GTKmm\lib\sigc++-2.0

LIBRARY  DIRECTORIES:

c:\GTK\2.8\lib
c:\GTKmm\lib

LIBRARIES  TO  LINK  WITH:

C:\GTK\2.8\lib\jpeg.lib
C:\GTK\2.8\lib\art_lgpl_2.lib
C:\GTK\2.8\lib\asprintf.lib
C:\GTK\2.8\lib\atk-1.0.lib
C:\GTK\2.8\lib\bz2.lib
C:\GTK\2.8\lib\cairo.lib
C:\GTK\2.8\lib\charset.lib
C:\GTK\2.8\lib\fontconfig.lib
C:\GTK\2.8\lib\freetype.lib
C:\GTK\2.8\lib\gdk_pixbuf-2.0.lib
C:\GTK\2.8\lib\gdkglext-win32-1.0.lib
C:\GTK\2.8\lib\gdk-win32-2.0.lib
C:\GTK\2.8\lib\pango-1.0.lib
C:\GTK\2.8\lib\glade-2.0.lib
C:\GTK\2.8\lib\glib-2.0.lib
C:\GTK\2.8\lib\gmodule-2.0.lib
C:\GTK\2.8\lib\gobject-2.0.lib
C:\GTK\2.8\lib\gthread-2.0.lib
C:\GTK\2.8\lib\gtkglext-win32-1.0.lib
C:\GTK\2.8\lib\gtk-win32-2.0.lib
C:\GTK\2.8\lib\iconv.lib
C:\GTK\2.8\lib\intl.lib
C:\GTKmm\lib\sigc-2.0d.lib
C:\GTKmm\lib\xml++-2.6d.lib
C:\GTKmm\lib\atkmm-1.6d.lib
C:\GTKmm\lib\gdkmm-2.4d.lib
C:\GTKmm\lib\glademm-2.4d.lib
C:\GTKmm\lib\glibmm-2.4d.lib
C:\GTKmm\lib\gtkmm-2.4d.lib
C:\GTKmm\lib\pangomm-1.4d.lib

 TO  GET  HELLOWORLD  TO WORK, I included the following headers & put the Declaration & implementation code in the same file.  Worked for me!


// Gtkmm Headers
//
#include <gtkmm.h>
#include <libglademm.h>

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

#include <gtkmm/main.h>

-- 
Sincerely, Allen

Gene Allen Saucier, Jr
Senior Software Engineer
CAS, Inc
100 Quality Circle
Huntsville, AL  35806
or
PO Box 11190
Huntsville, AL  35814
(256) 922-6453 (w)
"As for I and my house, we shall follow the Lord"  Joseph


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]