正在使用anjuta写C++的大侠请进[已解决]

软件和网站开发以及相关技术探讨
头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

正在使用anjuta写C++的大侠请进[已解决]

#1

帖子 blackiron » 2007-10-27 22:40

我用anjuta的向导New ->Project ->C++ ->GTKmm

新建一个工程,

其产生的代码如下(我没有贴注释)

代码: 全选

#include <libglademm/xml.h>
#include <gtkmm.h>
#include <iostream>



/* For testing propose use the local (not installed) glade file */
/* #define GLADE_FILE PACKAGE_DATA_DIR"/gtk-foobar2/glade/gtk-foobar2.glade" */
#define GLADE_FILE "gtk-foobar2.glade"
   
int
main (int argc, char *argv[])
{
	Gtk::Main kit(argc, argv);
	
	//Load the Glade file and instiate its widgets:
	Glib::RefPtr<Gnome::Glade::Xml> refXml;
	try
	{
		refXml = Gnome::Glade::Xml::create(GLADE_FILE);
	}
	catch(const Gnome::Glade::XmlError& ex)
    {
		std::cerr << ex.what() << std::endl;
		return 1;
	}
	Gtk::Window* main_win = 0;
	refXml->get_widget("main_window", main_win);
	if (main_win)
	{
		kit.run(*main_win);
	}
	return 0;
}
编译时说:libglademm/xml.h No such file or directory
我用$sudo find -name xml.h 都没有找到该文件,困惑ing
上次由 blackiron 在 2007-11-03 22:28,总共编辑 1 次。
头像
titainium
帖子: 689
注册时间: 2006-12-02 12:25

#2

帖子 titainium » 2007-10-28 14:17

错误提示是说没有安装libglademm,你需要安装相关的开发包。
Titainium
头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

#3

帖子 blackiron » 2007-10-28 16:53

titainium 写了:错误提示是说没有安装libglademm,你需要安装相关的开发包。
我确信libglademm已经安装
附件
Screenshot-新立得软件包管理器 .png
头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

#4

帖子 blackiron » 2007-10-28 17:01

应该是环境变量的设置问题
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林

#5

帖子 tipfoo » 2007-10-29 0:22

头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

#6

帖子 blackiron » 2007-10-29 16:17

tipfoo 写了:这里已回答了
viewtopic.php?t=79137&start=15

谢谢!

你让我装libglademm-2.4-dev libgnomemm-2.6-dev是吧,这两个包及相关的包我都装了

我觉得是环境变量设置问题的原因是:我找到了那些头文件的位置,把#include <libglademm/xml.h>换成绝对路径就OK了,这不是解决办法,因为有太多的头文件了。我在~/.bashrc里设置了PATH,把libglademm的父级路径设了进去,可还是找不到这些头文件,难道设置的地方不对?
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林

#7

帖子 tipfoo » 2007-10-30 16:22

对!就是装 libglademm-2.4-dev libgnomemm-2.6-dev 这两个。
我用$sudo find -name xml.h 都没有找到该文件,困惑ing
这明明是没装成功,或者装得不完整!
再试试修复:

代码: 全选

sudo apt-get --fix-missing install libglademm-2.4-dev libgnomemm-2.6-dev
编译时如果只是说:libglademm/xml.h No such file or directory 而没有说gtkmm.h找不到,那就是安装的问题。
如果确实能在硬盘上找到这个文件了,那才是环境的问题。
头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

#8

帖子 blackiron » 2007-10-30 18:02

tipfoo 写了:对!就是装 libglademm-2.4-dev libgnomemm-2.6-dev 这两个。
我用$sudo find -name xml.h 都没有找到该文件,困惑ing
这明明是没装成功,或者装得不完整!
再试试修复:

代码: 全选

sudo apt-get --fix-missing install libglademm-2.4-dev libgnomemm-2.6-dev
编译时如果只是说:libglademm/xml.h No such file or directory 而没有说gtkmm.h找不到,那就是安装的问题。
如果确实能在硬盘上找到这个文件了,那才是环境的问题。
十分感谢您对我的问题的关注!

您看看我上边的说明,我已经说明这些文件都是存在的,只要写绝对路径都能通过,我也执行:
sudo apt-get --fix-missing install libglademm-2.4-dev libgnomemm-2.6-dev
检查过,没有问题的。

所以剩下的问题就是请您帮我分析一下环境配置的问题,我对linux的环境配置不熟
xlhl77
帖子: 31
注册时间: 2006-08-28 11:47
来自: http://www.chxww.cn/bbs
联系:

#9

帖子 xlhl77 » 2007-10-30 23:55

要设置project的属性,增加一个libglademm包即可。
project->properties->packages
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林

#10

帖子 tipfoo » 2007-10-31 9:45

如果按照这里的步骤搭建C++开发环境后,楼上的这种情况,anjuta是会自动修复的。
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林

#11

帖子 tipfoo » 2007-10-31 10:28

建议你按这里的步骤配置C/C++开发环境,再加上

代码: 全选

sudo apt-get install libglademm-2.4-dev libgnomemm-2.6-dev
如果相应的包都装过了,再加上“--fix-missing”选项确认一遍。

然后,重新建立一个新Gtkmm工程,这样应该就没有什么问题了(我就是从全新安装的Feisty记录以上步骤的)。

如果还不行,那就这样:
点击菜单 Project > Properties,点击“Variables”选项页;添加下面两个变量(同见附图,Anjuta 2.2.2):

代码: 全选

变量名                       值
---------------------------------------------------------------------------------------
CPPFLAGS              `pkg-config --cflags libglademm-2.4`
LDFLAGS                 `pkg-config --libs libglademm-2.4`

再不行,就在终端执行命令
pkg-config --cflags libglademm-2.4
将输出结果作为 CPPFLAGS 的值(注意这时不要加上反单引号)
pkg-config --libs libglademm-2.4
将输出结果作为 LDFLAGS 的值(注意这时不要加上反单引号)

好运!
附件
变量
变量
头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

#12

帖子 blackiron » 2007-11-01 17:37

tipfoo 写了:建议你按这里的步骤配置C/C++开发环境,再加上

代码: 全选

sudo apt-get install libglademm-2.4-dev libgnomemm-2.6-dev
如果相应的包都装过了,再加上“--fix-missing”选项确认一遍。

然后,重新建立一个新Gtkmm工程,这样应该就没有什么问题了(我就是从全新安装的Feisty记录以上步骤的)。

如果还不行,那就这样:
点击菜单 Project > Properties,点击“Variables”选项页;添加下面两个变量(同见附图,Anjuta 2.2.2):

代码: 全选

变量名                       值
---------------------------------------------------------------------------------------
CPPFLAGS              `pkg-config --cflags libglademm-2.4`
LDFLAGS                 `pkg-config --libs libglademm-2.4`

再不行,就在终端执行命令
pkg-config --cflags libglademm-2.4
将输出结果作为 CPPFLAGS 的值(注意这时不要加上反单引号)
pkg-config --libs libglademm-2.4
将输出结果作为 LDFLAGS 的值(注意这时不要加上反单引号)

好运!
投降了,全部按你这个顺序搞了一遍,问题依旧。我现在gedit写代码,手写Makefile
头像
tipfoo
帖子: 303
注册时间: 2007-07-12 16:30
来自: 桂林

#13

帖子 tipfoo » 2007-11-01 23:26

兄弟,你的环境是什么啊(操作系统版本)?

你的出错的完整信息也贴出来啊。右键有“Save message”的啊。

关于这基本的两点,请Google一下“提问的智慧”啊。
头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

#14

帖子 blackiron » 2007-11-03 22:09

tipfoo 写了:兄弟,你的环境是什么啊(操作系统版本)?

你的出错的完整信息也贴出来啊。右键有“Save message”的啊。

关于这基本的两点,请Google一下“提问的智慧”啊。
兄弟,你这么热心肠,我都不好意思放弃了!

这两天准备项目去南京演示,回来继续搞,不搞好它都对不起你的热心肠 :lol:

交个朋友吧,我的MSN:lhjing@utt.com.cn
头像
blackiron
帖子: 887
注册时间: 2007-05-25 16:47
来自: 上海

#15

帖子 blackiron » 2007-11-03 22:31

今天打开新立得,看到anjuta相关的,还有anjuta-dev和anjuta-dbg没有装,就把它们装了,原来的程序编译运行就一定问题都没有了

很奇怪:$ sudo apt-get install anjuta命令没有安装这两个包啊
回复