+ -
当前位置:首页 → 问答吧 → GTK中strlen不兼容问题

GTK中strlen不兼容问题

时间:2010-08-11

来源:互联网

代码:
#include<gtk/gtk.h>
GtkWidget *text;
GtkTextBuffer *buffer;
GtkTextIter *Iter;

void button_event(GtkWidget *widget,gpointer *data);

        int main(int argc,char *argv[])
        {
        GtkWidget *window;
        GtkWidget *button;
        GtkWidget *box;

        gtk_init(&argc,&argv);
        window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_widget_set_size_request(window,200,150);
        g_signal_connect(GTK_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);

        box = gtk_vbox_new(FALSE,0);
  gtk_widget_set_size_request(window,200,120);
        gtk_container_add(GTK_CONTAINER(window),box);
        gtk_box_pack_start(GTK_BOX(box),text,FALSE,FALSE,0);
        buffer = gtk_text_view_get_buffer(GTK_TEXT(text));
        gtk_widget_show(text);

        button = gtk_button_new_with_label("start";
        gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,5);
        g_signal_connect(GTK_OBJECT(window),"clicked",GTK_SIGNAL_FUNC(button_event),NULL);

        gtk_widget_show(window);
        gtk_main();
        }

        void button_event(GtkWidget *widget,gpointer *data)
{
        const gchar *texta ="wo cao!";
        GtkTextIter start,end;
        GtkTextBuffer *buffer;
        gtk_text_buffer_get_bounds(GTK_TEXT_BUFFER(buffer),&start,&end);
        gtk_text_buffer_insert(GTK_TEXT_BUFFER(buffer),&start,texta,strlen(texta));


        gtk_widget_show(box);

        text = gtk_text_new();

}


编译的错误如下:
zhencao.c: In function ‘main’:
zhencao.c:22: 警告:赋值时将整数赋给指针,未作类型转换
zhencao.c:26: 警告:传递参数 1 (属于 ‘gtk_text_view_get_buffer’)时将整数赋给指针,未作类型转换
zhencao.c: In function ‘button_event’:
zhencao.c:43: 警告:隐式声明与内建函数 ‘strlen’ 不兼容
/tmp/ccj0fiRj.o: In function `main':
zhencao.c.text+0x142): undefined reference to `GTK_TEXT'
collect2: ld 返回 1

百度了,也没正规的解决方法,希望大家帮忙

作者: killerezero   发布时间: 2010-08-11

这里貌似不是strlen的问题是你的GTK_TEXT的问题

作者: daybreakcx   发布时间: 2010-08-11

附上google搜到的两个结果:
1、#include之前加上#define GTK_ENABLE_BROKEN
2、看这里:http://mail.gnome.org/archives/g ... tober/msg00141.html

作者: daybreakcx   发布时间: 2010-08-11

好像不行,楼上的大哥你有QQ吗?QQ里请教你

作者: killerezero   发布时间: 2010-08-11