免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3127 | 回复: 4
打印 上一主题 下一主题

GTK中strlen不兼容问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-11 16:38 |只看该作者 |倒序浏览
代码:
#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

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

论坛徽章:
0
2 [报告]
发表于 2010-08-11 16:43 |只看该作者
这里貌似不是strlen的问题是你的GTK_TEXT的问题

论坛徽章:
0
3 [报告]
发表于 2010-08-11 16:46 |只看该作者
附上google搜到的两个结果:
1、#include之前加上#define GTK_ENABLE_BROKEN
2、看这里:http://mail.gnome.org/archives/g ... tober/msg00141.html

论坛徽章:
0
4 [报告]
发表于 2010-08-11 17:00 |只看该作者
好像不行,楼上的大哥你有QQ吗?QQ里请教你

论坛徽章:
0
5 [报告]
发表于 2010-08-11 17:11 |只看该作者
#include <string.h>
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP