from:http://forum.ubuntu.org.cn/viewtopic.php?t=40971
本人想学习一下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!

附件:
文件注释: GTK测试

s2.png [ 4.79 KiB | 被浏览 37527 次 ] 
文件注释: C语言测试

转载于:https://www.cnblogs.com/shaoguangleo/archive/2011/05/20/2805780.html

新手上路学习配置C,C++,GTK等开发环境相关推荐

  1. Android学习笔记之(一)开发环境搭建

    Android学习笔记之(一)开发环境搭建 zouxy09@qq.com http://blog.csdn.net/zouxy09 至于说Android是什么之类的俺就不啰嗦了,因为它离我们太近了.直 ...

  2. vscode linux新建c语言,Ubuntu16.04下配置VScode的C/C++开发环境

    1. Vscode安装 Visual studio code是微软发布的一个运行于 Mac OS X.Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器.第一种 ...

  3. 【VSCode】【msys2】VS Code + msys2配置Windows下C/C++开发环境

    [VSCode][msys2]VS Code + msys2配置Windows下C/C++开发环境 一.Msys2配置 1. 下载msys2, 网址:https://www.msys2.org/ 2. ...

  4. oracle oaf结构,配置Oracle ebs的oaf开发环境步骤详解

    我们在配置Oracle ebs的oaf开发环境的过程中首先我们需要下载jdev 9.03.5带OracleApplications Extension的扩展包,之后再解压至某目录里,这是配置Oracl ...

  5. oracle oaf环配置境,配置Oracle ebs的oaf开发环境的操作步骤

    以下的文章主要是介绍配置Oracle ebs的oaf的下载与相关的配置步骤,以及如何创建快捷方式等相关内容的介绍,同时本文还提及到在配置Oracle ebs的oaf开发环境中配置文件时,应该注意的地方 ...

  6. 新手零基础学习Python第一步,搭建开发环境!

    如何在电脑上面搭建Python开发环境?本文会解答这个问题. Python是一门计算机编程语言,通过给计算机下达精确的指令以完成相应的任务或者事情. 人类掌握Python后,就可以利用这个工具告诉计算 ...

  7. deepinlinux20.8配置好了vscode+glade+gtk+c开发环境

    在vscode+c开发环境基础上想整点带界面的程序,linux下比较方便的是gtk,但是又不想写界面,最好能鼠标点点就能把界面整好,这想法还不算过分,原来有glade这个工具,能画好界面保存为xml文 ...

  8. Python学习笔记(0):开发环境配置

    开发环境 操作系统 Ubuntu16.04 由于Ubuntu下自带Python,所以无需安装,可以在终端直接输入命令python来查看Python的版本,我的电脑上是2.7.10. 安装ipython ...

  9. Spark基础学习笔记10:Scala集成开发环境

    文章目录 零.本讲学习目标 一.搭建Scala的Eclipse开发环境 (一)安装Scala插件 (二)创建Scala项目 二.搭建Scala的IntelliJ IDEA开发环境 (一)启动IDEA ...

  10. 微信开发学习总结(一)——微信开发环境搭建

    目前移动开发处于比较火的的趋势,很多的开发者都跃跃欲试,目前移动App开发领域主要分为以下几种类型: 一.微信开发环境搭建 工欲善其事,必先利其器.要做微信公众号开发,那么要先准备好两样必不可少的东西 ...

最新文章

  1. android mp4宽高,Android:MediaPlayer视频宽高比问题
  2. 微软成功抵御峰值高达 2.4Tbps 的 DDoS 攻击
  3. 维基链锚定行业缺口,定位发展一体化DeFi,持续开发出各类产品应用,包括去中心化抵押借贷系统Wayki-CDP(含稳定币WUSD)、去中心化交易所Wayki-DEX、去中心化合成资产协议Wayki-X
  4. jQuery Ajax调用后如何管理重定向请求
  5. win7系统自带截图工具快捷键是什么?怎么设置快捷键
  6. namenode单节点解决方案
  7. 数组(array)(小谈)
  8. [golang]如何看懂调用堆栈
  9. 为什么有些人会财路不顺?
  10. qqkey获取原理_QQkey盗号木马原理分析[教程]
  11. Echarts柱状图属性设置大全
  12. 图像篡改被动检测技术一览:基于特征提取和卷积神经网络的篡改检测
  13. 【SQL注入技巧拓展】————13、我的WafBypass之道(SQL注入篇)
  14. 注销公司是否需要办理注销呼叫中心许可证?
  15. 【转载】三十而已,信智依然 | 田溯宁:写在亚信科技30华诞
  16. 【渝粤教育】电大中专学前儿童社会教育_1作业 题库
  17. 1838公共政策概论 (2)
  18. java内省和反射机制_Java内省和反射机制三步曲之 - 内省
  19. 如何搭建企业培训平台
  20. 仿脉脉PHP源码,极限脉脉主图,缺口衰竭幅图,无未来(源码免费)

热门文章

  1. php app()路由,谷歌云应用引擎app.yaml php72与路由问题
  2. 630显卡驱动安装win7_Centos7 显卡驱动安装教程
  3. python 加减法 负数_python解决两位数加减法快速出题问题
  4. 使用JSONObject toString后,会增加反斜杠转义符
  5. 倒计时 5 天!Apache Flink Meetup · 北京站,1.13 新版本 x 互娱实践分享的开发者盛筵!...
  6. Android自定义View—刮刮卡效果
  7. iphone投屏ipad_幕享免费无线投屏:你朝思暮想的屏幕互联方式
  8. java空指针找不到,跪空指针异常,所有的传入参数都判断了非空,实在找不到哪里没有赋值了...
  9. docker 训练深度学习_基于 Alluxio 数据缓存的大规模深度学习训练性能优化
  10. vs2012打开c语言贪吃蛇,第一个满意的C语言控制台游戏——贪吃蛇(原创)