##Gauche-gtk2なんですが、ヘッダと整合性がとれてなくてコンパイルエラーになっていました。
#diff --git a/src/gtk-lib.hints b/src/gtk-lib.hints
index 28677da..9900a6e 100644
--- a/src/gtk-lib.hints
+++ b/src/gtk-lib.hints
@@ -1536,7 +1536,7 @@ return SCM_MAKE_STR_COPYING((char*)string);"))
(define-cproc-fix gtk-tree-model-get-column-type
(fix-body!
- "SCM_RETURN(SCM_OBJ(Scm_GtkTypeToScmClass(gtk_tree_model_get_column_type(tree_model, index))));"))
+ "SCM_RETURN(SCM_OBJ(Scm_GtkTypeToScmClass(gtk_tree_model_get_column_type(tree_model, index_))));"))
(define-cproc-fix gtk-tree-model-get-iter
(fix-arguments! '(model::<gtk-tree-model> path::<gtk-tree-path>))
#む、うちの環境ではエラー出てないな、なぜだろう
#ああ、char *index() というライブラリ関数だと思ってるわけだ。そんでもってうちのgccは「型が違うよ」ってwarningは出すけどコンパイルは通してた。
#手元の環境だとなぜかuintがunknownに。
#pkg-config --cflags gtk+-2.0` -c -o gtkuimanager.o gtkuimanager.c
gtkuimanager.c: In function 'gtkuimanager_gtk_ui_manager_add_ui_from_file':
gtkuimanager.c:246:21: error: unknown type name 'uint'
make: *** [gtkuimanager.o] Error 1
#u_intだと通ります?
#ついでだからwarningが出てるところ潰しとくかな
#gtkuimanager.stubでuintとして生成されているのがまずいっぽいですね。
#--- gtkuimanager.stub 2012-04-02 21:51:24 +0900
+++ gtkuimanager.stub.rev 2012-04-02 21:49:31 +0900
@@ -66,7 +66,7 @@
;; (define-cproc gtk-ui-manager-add-ui-from-string (self::<gtk-ui-manager> buffer::<const-gchar*> length::(UNKNOWN . gssize) error::(UNKNOWN . GError**)) (call <uint> gtk_ui_manager_add_ui_from_string))
;; gtk_ui_manager_add_ui_from_file
-(define-cproc gtk-ui-manager-add-ui-from-file (self::<gtk-ui-manager> filename::<const-gchar*>) "GError* err = NULL; uint r;\n r = gtk_ui_manager_add_ui_from_file(self, filename, &err);\n if (!r) {\n Scm_Error(\"gtk-ui-manager-add-ui-from-file: %s\", err->message);\n }\n SCM_RETURN(SCM_TRUE);")
+(define-cproc gtk-ui-manager-add-ui-from-file (self::<gtk-ui-manager> filename::<const-gchar*>) "GError* err = NULL; u_int r;\n r = gtk_ui_manager_add_ui_from_file(self, filename, &err);\n if (!r) {\n Scm_Error(\"gtk-ui-manager-add-ui-from-file: %s\", err->message);\n }\n SCM_RETURN(SCM_TRUE);")
;; gtk_ui_manager_add_ui
(define-cproc gtk-ui-manager-add-ui (self::<gtk-ui-manager> merge_id::<uint> path::<const-gchar*> name::<const-gchar*> action::<const-gchar*> type::<int> top::<boolean>) (call <void> "gtk_ui_manager_add_ui"))
#uintをu_intにしたら通りました。
#pushしときました。
#これが抜けている気がします。
#diff --git a/src/gtk-lib.hints b/src/gtk-lib.hints
index 1024b7f..86c326d 100644
--- a/src/gtk-lib.hints
+++ b/src/gtk-lib.hints
@@ -2232,7 +2232,7 @@ SCM_RETURN(SCM_UNDEFINED);"))
(define-cproc-fix gtk-ui-manager-add-ui-from-file
(fix-arguments! '(self::<gtk-ui-manager> filename::<const-gchar*>))
- (fix-body! "GError* err = NULL; uint r;
+ (fix-body! "GError* err = NULL; u_int r;
r = gtk_ui_manager_add_ui_from_file(self, filename, &err);
if (!r) {
Scm_Error(\"gtk-ui-manager-add-ui-from-file: %s\", err->message);
#あれ、直したつもりだったのに。
#pushed. さっきはstubファイルの方を直してたかもしれない。
#ありがとうございます。
#MinGWだとglgdでHUGEが未定義になりました。
#diff --git a/glgd/glgdGraph.c b/glgd/glgdGraph.c
index 8af37f1..2a44107 100644
--- a/glgd/glgdGraph.c
+++ b/glgd/glgdGraph.c
@@ -19,7 +19,11 @@
#define GLGDGRAPH_CAMORBIT (0)
#define GLGDGRAPH_NODENAME (1)
#define GLGDGRAPH_LINKNAME (2)
+#ifdef __MINGW32__
+#define _MAXFLT (HUGE_VAL)
+#else
#define _MAXFLT (HUGE)
+#endif
#define _PANGO_DPI (72)
#define _PANGO_SCALE (3)
#define _TEXW (1024)
#お、MinGWでGauche-gtk2はコンパイルしたことなかったです。
#あと、ヘッダのインクルードが必要っぽいです。
#diff --git a/glgd/glgdCam.c b/glgd/glgdCam.c
index 1a0b057..bf2e6e1 100644
--- a/glgd/glgdCam.c
+++ b/glgd/glgdCam.c
@@ -10,6 +10,7 @@
#include <gtk/gtk.h>
#include <gdk/gdkkeysyms.h>
#include <GL/gl.h>
+#include <GL/glu.h>
#include "glgd.h"
/*