当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 这个gtkmm演示程序应该怎么编译阿?
帖子发表于 : 2006-05-13 15:38 

注册: 2006-02-02 22:37
帖子: 20
送出感谢: 0 次
接收感谢: 0 次
是gtkmm的演示程序

引用:
#ifndef GTKMM_EXAMPLE_HELLOWORLD_H
#define GTKMM_EXAMPLE_HELLOWORLD_H

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

class HelloWorld : public Gtk::Window
{

public:
HelloWorld();
virtual ~HelloWorld();

protected:
//Signal handlers:
virtual void on_button_clicked();

//Member widgets:
Gtk::Button m_button;
};

#endif // GTKMM_EXAMPLE_HELLOWORLD_H

引用:
#include "helloworld.h"
#include <iostream>

HelloWorld::HelloWorld()
:m_button("Hello World") // creates a new button with the label "Hello World".
{
// Sets the border width of the window.
set_border_width(10);

// When the button receives the "clicked" signal, it will call the
// on_button_clicked() method. The on_button_clicked() method is defined below.
m_button.signal_clicked().connect(sigc::mem_fun(*this, &HelloWorld::on_button_clicked));

// This packs the button into the Window (a container).
add(m_button);

// The final step is to display this newly created widget...
m_button.show();
}

HelloWorld::~HelloWorld()
{
}

void HelloWorld::on_button_clicked()
{
std::cout << "Hello World" << std::endl;
}



引用:
#include <gtkmm/main.h>
#include "helloworld.h"

int main (int argc, char *argv[])
{
Gtk::Main kit(argc, argv);

HelloWorld helloworld;
Gtk::Main::run(helloworld); //Shows the window and returns when it is closed.

return 0;
}


运行

引用:
g++ main.cc `pkg-config --cflags --libs gtkmm-2.4`


结果出现
引用:
/tmp/ccpUPlk4.o: In function `main':
main.cc:(.text+0x3b): undefined reference to `HelloWorld::HelloWorld()'
main.cc:(.text+0x60): undefined reference to `HelloWorld::~HelloWorld()'
main.cc:(.text+0x77): undefined reference to `HelloWorld::~HelloWorld()'
collect2: ld 返回 1


请问是什么地方出的问题?
应该怎么写这种Makefiles呢?

不好意思
学医的
以前是在dev-cpp下面
不会用automake


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2006-05-13 18:10 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
makefile不会写。用anjuta,就都有了。autogen, automake,antuconfigure都安装了。anjuta选gtkmm工程,建立一个。都会自动配置好的。


_________________
● 鸣学


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2006-05-13 18:56 

注册: 2006-02-02 22:37
帖子: 20
送出感谢: 0 次
接收感谢: 0 次
anjuta不认我用的gtkmm 2.4啊


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2006-05-13 19:14 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
libgtkmm-2.4-doc - C++ wrappers for GTK+ 2.4 (documentation)

dapper就是2.4的。试试。


_________________
● 鸣学


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2006-05-14 12:49 

注册: 2006-02-02 22:37
帖子: 20
送出感谢: 0 次
接收感谢: 0 次
问题解决了
原来是编译的时候没有把helloworld.cc加进去
果真是菜啊
bs自己一下
代码:
g++ main.cc helloworld.cc `pkg-config --cflags --libs gtkmm-2.4`


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2006-09-11 16:28 

注册: 2006-01-10 19:09
帖子: 1334
送出感谢: 0 次
接收感谢: 0 次
我也在看gtkmm的文档哈
有机会探讨一下


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-03-14 11:24 
头像

注册: 2006-12-02 12:25
帖子: 689
送出感谢: 0 次
接收感谢: 0 次
eclipse不认gtkmm的头文件路径,看起来要自己写makefile,麻烦。 :?


_________________
Titainium


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-05-21 16:33 
头像

注册: 2007-04-03 9:52
帖子: 353
送出感谢: 0 次
接收感谢: 0 次
titainium 写道:
eclipse不认gtkmm的头文件路径,看起来要自己写makefile,麻烦。 :?


eclipse是可以认gtkmm的头文件, 不过我是自己写的Makefile(我用eclipse都是自己写Makefile)

我试了一下,如果不自己写的话,会错认为是gtkmm2.0, 而我装的是2.4

自己写Makefile就没这个问题了


_________________
TODO LIST:
1.valgrind:
2.gcov:
3.cppuint:未在Linux中使用
4.PostgreSQL:unixODBC
5.Doxygen:UTF8 中文问题,生成LaTex文档问题
6.LaTex:明确安装问题,UTF8 中文字体问题


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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