当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [原创]anjuta初体验
帖子发表于 : 2007-12-15 14:42 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
终于开始了在linux下编程的学习,看了不少贴子,搞明白了。要用anjuta搭建个GUI IDE环境开始我的C++学习之旅。
安装anjuta的第一个问题就是......没找到libgnomemm2.0-dev。
(这是我在ubuntu中文中用来学习预留的贴子,以后慢慢增加内容。请匆跟贴,谢谢。)


附件:
linuxAPI.gz [225.91 KiB]
被下载 972 次


最后由 ubfaner 编辑于 2007-12-15 16:27,总共编辑了 3 次
页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-12-15 14:44 
头像

注册: 2005-10-13 18:29
帖子: 109
送出感谢: 0 次
接收感谢: 0 次
实在忍不住了。。。
sudo apt-get install anjuta


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-12-15 15:02 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
第一个问题解决了。是这样的:重新安装了一个libgnomemm-2.6-dev。可是与C++相关的教程还没有找到,尤其是像Windows下的API手册那样的。下个问题就是找linux下的API相关资料。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-15 16:15 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
找到了一些linux API相关的资料。大家一起看看吧。我把资料放到一楼吧。


我怎么上传不了附件啊!!!!!!!!!!!


总算传上去了,原来的是pdf文件,我把后缀名强行改成gz了。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-12-15 20:20 
头像

注册: 2005-10-13 18:29
帖子: 109
送出感谢: 0 次
接收感谢: 0 次
ubfaner 写道:
第一个问题解决了。是这样的:重新安装了一个libgnomemm-2.6-dev。可是与C++相关的教程还没有找到,尤其是像Windows下的API手册那样的。下个问题就是找linux下的API相关资料。

兄弟。。。有个东西叫做devhelp。。。


附件:
devhelp.png
devhelp.png [ 172.33 KiB | 被浏览 1031 次 ]

页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-12-17 9:12 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
楼上的朋友有没有devhelp的中文资料?
我再发一些C++的,标准库教材。(大于2M,还得想办法分割成小文件,在linux下好像应该有办法的,1、可以使用dd if=a of=a.1 bs=512 count=4 dd if=a of=a.2 bs=512 skip=4
2、合并 cat a.1 a.2>a

当我用GTKmm生成程序后,编译却没有通过,提示没有找到相关的头文件。可能是安装完anjuta后没能设好linux的环境变量,这个问题没有解决。但在重新启动系统后,问题不存在了。


附件:
c++标准程序库.part2.rar [1.54 MiB]
被下载 1484 次
c++标准程序库.part1.rar [2 MiB]
被下载 161 次


最后由 ubfaner 编辑于 2007-12-19 0:04,总共编辑了 1 次
页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-12-18 1:23 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
经过n小时的学习终于完成了我第一个程序。(当然是经典的Hello!)
分两个文件
app.h和main.cc
/*********************************************
****************app.h***********************
*********************************************/
#include <libglademm/xml.h>
#include <gtkmm.h>
#include <iostream>

#ifdef ENABLE_NLS
# include <libintl.h>
#endif

#define GLADE_FILE "gtkmmapp.glade"
class Object
{
public:
int m_argc;
char* p_argv[];
public:
Object()
{}
Object(int m_a,char *p_a[])
{
m_argc=m_a;
*p_argv=*p_a;
}
~Object()
{
}
};
class Form : public Object
{
private:
Glib::RefPtr<Gnome::Glade::Xml> refXml;
Gtk::Window* main_win;// = 0;

public:
Form()
{
init();
}

int init()
{
Gtk::Main kit(&m_argc,(char***)p_argv);
try
{
refXml = Gnome::Glade::Xml::create(GLADE_FILE);
}
catch(const Gnome::Glade::XmlError& ex)
{
std::cerr << ex.what() << std::endl;
return 1;
}

refXml->get_widget("main_window", main_win);
if (main_win)
{
Gtk::Label label("Hello World!",Gtk::ALIGN_CENTER,Gtk::ALIGN_CENTER,false);
main_win->add(label);
main_win->show_all_children();
kit.run(*main_win);
}
}
~Form()
{
}
};

class Start
{
Start();
~Start()
{
}
public:
static void run(Object *myobject)
{
myobject=new Object();
}
};
/*********************************************
***************main.cc**********************
*********************************************/
#include "app.h"

//class Application
//{
/*static*/
int main(int argc, char *argv[])
{
Start::run(new Form());
return 0;
}
//};


最后由 ubfaner 编辑于 2007-12-20 11:35,总共编辑了 1 次

页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-12-19 0:15 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
老是问题连连啊,anjuta在连接工程的时候又出现问题了。编译可以通过,就是不能生成工程。提示aclocal某些.m4文件有问题。花了一天时间也没有解决。上面用C#的形式改写了gtkmm程序(也没达到满意,比如使用静态入口点就不行),下面想改成类似MFC的。反复试验,发现与windows下的C++有不太一样的地方。比如程序执行时,win32程序总是先执行外部的静态的对象,然后才到Winmain入口点的。大家知道,MFC程序有一个全局唯一对象theapp。现在还没有改成功。明天再说吧。

(anjuta在连接工程的时候又出现问题了)这个问题己解决。
方法1:anjita->Project->AddSource File...-><yourfile>将yourfile手工加入工程。
方法2:打开 工程目录/src/Makefile.am在“ex_SOURCES =”添加要加入的文件名。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-12-20 22:14 

注册: 2007-11-22 19:05
帖子: 43
送出感谢: 0 次
接收感谢: 0 次
找到这边,想问个问题,安装anjuta时执行./configure出错:
代码:
...
...
checking for GTK... configure: error: Package requirements (gtk+-2.0 >= 2.8.0) were not met:

No package 'gtk+-2.0' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables GTK_CFLAGS
and GTK_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.


我是GNOME的桌面怎么会没有GTK呢,疑惑中。。。


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2007-12-23 21:50 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
楼上的朋友
这句话的大概意思是:没有找到程序所依赖的包:gtk+-2.0.

有以下建议:
1、可能你安装的没有使用标准配置。可以更改PKG_CONFIG_PATH环境变量。另外,也可以根据你安装GTK+的位置配置如下环境变量:GTK_CFLAGS和GTK_LIBS.将它们指向你安装的路径。更多信息请用:man pkg-config查看。
2、这个方法简单:sudo apt-get autoremove anjuta sudo apt-get install anjuta
或者直接sudo apt-get install gtk+2.0一般就会解决问题。


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

注册: 2005-10-13 18:29
帖子: 109
送出感谢: 0 次
接收感谢: 0 次
ubfaner 写道:
老是问题连连啊,anjuta在连接工程的时候又出现问题了。编译可以通过,就是不能生成工程。提示aclocal某些.m4文件有问题。花了一天时间也没有解决。上面用C#的形式改写了gtkmm程序(也没达到满意,比如使用静态入口点就不行),下面想改成类似MFC的。反复试验,发现与windows下的C++有不太一样的地方。比如程序执行时,win32程序总是先执行外部的静态的对象,然后才到Winmain入口点的。大家知道,MFC程序有一个全局唯一对象theapp。现在还没有改成功。明天再说吧。

(anjuta在连接工程的时候又出现问题了)这个问题己解决。
方法1:anjita->Project->AddSource File...-><yourfile>将yourfile手工加入工程。
方法2:打开 工程目录/src/Makefile.am在“ex_SOURCES =”添加要加入的文件名。

学gtkmm。。。用singleton
。。。。


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2007-12-24 21:44 

注册: 2007-12-09 9:30
帖子: 16
送出感谢: 0 次
接收感谢: 0 次
是啊,c++并不是纯种的面向对象的语言。实现单向模式很容易。问题是我并没有设计模式的概念。老实说,我只是个“语法大约都懂了,语意大约都不懂”的初学者。不怕大家笑话。我学习编程是想看懂linux的源代码。因为我基本上看不懂别人的源码,所以就学吧。一本数据结构看了两个月了还没看完。后来就到乌班图系统下学来了。见到gtkmm觉得很好,嗯,就把在windows下的学的一点经验先搬过来吧。
上面说要改成MFC的样子。那要完成如下工作:
1、建立一个类树。Object,Sign,GuiApp,GWindow,GDocument,GView.
2、简单的仿消息映射的信号宏。
3、把main()封装起来。(这个其实和第一项工作是一起的)


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

当前时区为 UTC + 8 小时


在线用户

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


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

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

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