[分享]新手上路学习配置C,C++,GTK等开发环境<8.04适用>

软件和网站开发以及相关技术探讨
回复
头像
wth123456
帖子: 234
注册时间: 2006-12-07 17:32

[分享]新手上路学习配置C,C++,GTK等开发环境<8.04适用>

#1

帖子 wth123456 » 2007-02-10 13:26

本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的建立,因为新装好的Ubuntu里面缺少函数库文件,所以无法编译最简单的C语言文件,故要先配置一番,这几天也有一点心得,写下来和大家一起学习。
原来我以为安装配置非常麻烦,后来发现在新立得的帮助下很快就能配置好(前提你的源的网速比较快)。
我先安装了一个新的Ubuntu6.10,然后按照Wiki里的帮助先配置好了源、输入法、中文环境等。然后开始配置编译环境。

1、配置GCC
刚装好的系统中已经有GCC了,但是这个GCC什么文件都不能编译,因为没有一些必须的头文件,所以要安装build-essential这个软件包,安装了这个包会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文件的库。
可以在新立得里面搜索build-essential或输入下面命令:

代码: 全选

sudo apt-get install build-essential
安装完成后写一个C语言程序testc.c测试一下。

代码: 全选

#include<stdio.h>
int main()
{
	printf("Hello Ubuntu!\n");
	return 0;
}

代码: 全选

$ gcc testc.c -o testc
$ ./testc
显示
Hello Ubuntu!
这样,C语言编译器就安装成功了;
图1
图片

2安装GTK环境

安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包。除此之外还要转一些其他的东西,如libglib2.0-doc、libgtk2.0-doc帮助文档,devhelp帮助文档查看,glade-gnome、glade-common、glade-doc图形界面设计等。

代码: 全选

sudo apt-get install gnome-core-devel
sudo apt-get install libglib2.0-doc libgtk2.0-doc
sudo apt-get install devhelp
sudo apt-get install glade-gnome glade-common glade-doc
安装完成后我们也同样做个测试程序

代码: 全选

#include<gtk/gtk.h>
void hello(GtkWidget *widget,gpointer data)
{
g_print("Hello Ubuntu!\n");
}
gint delete_event(GtkWidget *widget,GdkEvent *event,gpointer data)
{
g_print ("delete event occurred\n");
return(TRUE);
}
void destroy(GtkWidget *widget,gpointer data)
{
gtk_main_quit();
}
int main( int argc, char *argv[] )
{
GtkWidget *window;
GtkWidget *button;
gtk_init (&argc, &argv);
window=gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_signal_connect (GTK_OBJECT(window),"delete_event",GTK_SIGNAL_FUNC(delete_event),NULL);
gtk_signal_connect (GTK_OBJECT (window), "destroy",GTK_SIGNAL_FUNC (destroy), NULL);
gtk_container_set_border_width (GTK_CONTAINER (window), 10);
button = gtk_button_new_with_label ("Hello Ubuntu!");
gtk_signal_connect (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (hello), NULL);
gtk_signal_connect_object (GTK_OBJECT (button), "clicked",GTK_SIGNAL_FUNC (gtk_widget_destroy),GTK_OBJECT (window));
gtk_container_add (GTK_CONTAINER (window), button);
gtk_widget_show (button);
gtk_widget_show (window);   /*显示一个窗口*/
gtk_main();   /*进入主循环*/
return(0);
}
用下面命令编译运行

代码: 全选

$ gcc gtkhello.c -o gtktest `pkg-config --cflags --libs gtk+-2.0`
$ ./gtktest
会显示一个带有一个按钮的窗口,点击按钮以后窗口关闭,命令行显示Hello Ubuntu!
附件
C语言测试
C语言测试
s1.png (11.16 KiB) 查看 39726 次
GTK测试
GTK测试
s2.png (4.79 KiB) 查看 56180 次
上次由 wth123456 在 2008-12-16 14:29,总共编辑 6 次。
头像
wth123456
帖子: 234
注册时间: 2006-12-07 17:32

#2

帖子 wth123456 » 2007-02-10 18:38

这么快就给加精。QT那边还有点问题,等我放假了好好研究一下。
头像
adqin
帖子: 1417
注册时间: 2007-01-24 22:07
来自: http://adqin.cn
联系:

#3

帖子 adqin » 2007-02-14 9:57

支持下,怎感觉突然Linux下编程很容易的了哦。
这篇文章不错,楼主可以再补充,再详细些就好了。
alxxew
帖子: 12
注册时间: 2007-02-09 11:08

#4

帖子 alxxew » 2007-02-15 15:28

很不错,最好论坛能有个收藏的功能,好文章一次肯定看不完...
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#5

帖子 BigSnake.NET » 2007-02-15 15:56

alxxew 写了:很不错,最好论坛能有个收藏的功能,好文章一次肯定看不完...
本來就有啊..看最底下
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
zhuguangxiang
帖子: 52
注册时间: 2006-03-29 16:55

#6

帖子 zhuguangxiang » 2007-02-16 19:32

我用gtk的源码安装的,为什么会出问题:
viewtopic.php?t=41562&start=0&postdays= ... highlight=
头像
wth123456
帖子: 234
注册时间: 2006-12-07 17:32

#7

帖子 wth123456 » 2007-02-18 14:38

zhuguangxiang 写了:我用gtk的源码安装的,为什么会出问题:
viewtopic.php?t=41562&start=0&postdays= ... highlight=
我在自己编程的时候就是用这个方法安装gtk的.
依窗吻风
帖子: 85
注册时间: 2006-04-20 12:12

#8

帖子 依窗吻风 » 2007-02-23 21:16

在linux下编程确实很容易!在win下用GTK/QT之类的始终没有搞定!在linux下,几条命令就搞定了!
头像
wth123456
帖子: 234
注册时间: 2006-12-07 17:32

#9

帖子 wth123456 » 2007-02-27 12:07

Win下面的QT我倒是搞定了,但是Linux下面好像还是有问题。
yiyaman
帖子: 47
注册时间: 2007-02-17 22:32
来自: 广东河源
联系:

#10

帖子 yiyaman » 2007-02-27 23:47

真是一篇好文章,我刚想转向linux编程,这篇文章是我的入门指导
散漫
帖子: 52
注册时间: 2007-02-25 13:07
联系:

#11

帖子 散漫 » 2007-03-01 8:52

楼主可以给些安装源吗 没安装源什么都搞不了
头像
wth123456
帖子: 234
注册时间: 2006-12-07 17:32

#12

帖子 wth123456 » 2007-03-03 13:48

散漫 写了:楼主可以给些安装源吗 没安装源什么都搞不了
Wiki里面源有很多阿。我以前电信的时候用的是Lupa的源,因为我在杭州的,下载的速度有几百K。现在用的网络我不大清楚是网通的还是教育网的,用的是cn99的源,速度有40-50K左右。Lupa的好像是官方的源。
头像
zzyubuntu
帖子: 55
注册时间: 2006-12-09 19:22

#13

帖子 zzyubuntu » 2007-04-10 19:45

好文章!
我现在正打算用linux做嵌入式
要好好学一下了
leopard10
帖子: 59
注册时间: 2006-05-21 14:11

#14

帖子 leopard10 » 2007-04-10 19:52

最簡單的Hello World程序,好像不加入
#include<stdio.h>
也行。
xsqsniper
帖子: 6
注册时间: 2007-04-02 18:40

#15

帖子 xsqsniper » 2007-04-13 19:29

太好了 我正在找这方面的东西 谢谢
不潜水了
没有什么能够阻挡
回复