当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于gtk包装类放入动态链接库的问题
帖子发表于 : 2007-08-20 21:06 

注册: 2006-06-05 23:27
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
源代码如下:

代码:
//foo.cpp 一个gtk窗口的包装类

#include <stdio.h>
#include "myclass.h"

#include <gtk/gtk.h>
#include <glib.h>

class foo : public myclass {
   private:
      GtkWidget* window;
      GtkWidget* button;

   public:
      virtual ~foo() {
         printf("destruction of foo!\n");
      }
      
      static gint destroyapp (GtkWidget *widget, gpointer gdata){
         g_print ("Quitting...\n");
         gtk_main_quit();
         return (FALSE);
      }

      static void button_clicked(GtkWidget *widget, gpointer gdata){
         g_print("Button was clicked.\n");
      }

      foo(int argc,char* argv[]){
         gtk_init(&argc,&argv);
      }

      virtual void fun1() {
         printf("fun1 in the foo!\n");
         window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
         button=gtk_button_new_with_label("hello");
         gtk_signal_connect(GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(&foo::destroyapp),NULL);
         gtk_signal_connect(GTK_OBJECT(button),"clicked",GTK_SIGNAL_FUNC(&foo::button_clicked),NULL);
         gtk_container_add(GTK_CONTAINER(window),button);
         gtk_container_border_width (GTK_CONTAINER (window), 15);
         gtk_widget_show(button);
         gtk_widget_show(window);
         gtk_main();
      }
};

extern "C" {

   foo* maker(){
      return new foo(NULL,NULL);
   }
}


我把该类编译成一个动态链接库:
代码:
g++ -Wall -fPIC -g -c foo.cpp  `gtk-config --cflags` `gtk-config --libs`
ld -shared foo.o -o libsoso.so

但是不能完成编译,我估计是编译出了问题,但不知道是哪里出了问题,请高人指教一下,谢谢谢谢


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译