前言:Ubuntu中没用自带C/C++开发环境,需要用户自己配置。在UBUNTU中文论坛中的一些帖子集合。

一、安装基本开发环境

本人想学习一下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语言编译器就安装成功了;

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测试

c语言测试

二、安装IDE开发工具
著名的开发工具有Kdeveloper, Anjuta, Eclipse+CDT。 
其中kdeveloper是KDE平台得,在Gnome平台下使用需要安装一大堆KDE的东西,不喜欢,放弃了,虽然都传说Kdeveloper的功能是如何强大。而Eclipse+CDT用起来似乎不错,但是主要有两点不舒服,一是不能代码自动完成,二是编译速度比较慢。
Eclipse + CDT的安装配置。

Java运行环境以及Eclipse3.3.0安装就不具体介绍。 
详细情况见:http://blog.chinaunix.net/u/21684/showart_384208.html 
1。下载CDT(http://www.eclipse.org/cdt/downloads.php)(只能下载4.0.x,如果是Eclipse3.3.0其他的选择合适的版本) 
2。安装CDT插件(links方法来安装插件的方法,便于对插件的管理) 
A.在eclipse所在的目录(ECLIPSE_HOME)新建文件夹cdt 
在文件夹cdt中新建文件夹eclipse(不要诧异就是eclipse) 
B. 把下载的cdt-master-4.0.0.zip中的内容解压到/ECLIPSE_HOME/cdt/eclipse中 
C.在ECLIPSE_HOME新建文件夹links 
在新建的links中添加文件cdt.link 文件的内容为 path=/ECLIPSE_HOME/cdt
比如我的就是path=/opt/eclipse/cdt 
D.这样就完成了CDT插件的安装工作了,启动eclipse 就看到多了c,c++开发环境

三、Anjuta安装配置
A. ubuntu feisty (for gusty, see below) repository (only i386 and only binaries)

1. Add deb http://anjuta.org/apt ./ in your /etc/apt/sources.list
2. sudo apt-get update
3. sudo apt-get install anjuta
4. sudo apt-get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs)

Note!! If you have installed older anjuta-2.2.0 previously using this repository, make sure to remove the file /etc/apt/preferences or remove the following version pin from the file before following the above steps. The version pin is no longer needed:

B. Ubuntu gusty repository

1. Add deb http://ppa.launchpad.net/robster/ubuntu gutsy universe in your /etc/apt/sources.list
2. sudo apt-get update
3. sudo apt-get install anjuta
4. sudo apt-get install anjuta-dev libgbf-dev libgdl-dev (if you want to write anjuta plugins or report bugs)

注意: 建议使用新立得安装。

题外话 QT VS GTK /GTK+

Qt是一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,KDE是所有主要的Linux发行版的一个标准组件。

Qt支持下述平台:
* MS/Windows - 95、98、NT 4.0、ME、和2000 * Unix/X11 - Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平台 * Macintosh - Mac OS X * Embedded - 有帧缓冲(framebuffer)支持的Linux平台。

Qt是Trolltech公司的一个产品。Qt被按不同的版本发行:

Qt企业版和Qt专业版 提供给商业软件开发。它们提供传统商业软件发行版并且提供免费升级和技术支持服务。如果要获得最新报价,请浏览Trolltech公司网站的价格和可行性页面,或者与sales@trolltech.com联系。企业版比专业版多一些扩展模块。

Qt自由版是Qt仅仅为了开发自由和开放源码软件 提供的Unix/X11版本。在Q公共许可证和GNU通用公共许可证 下,它是免费的。最新的版本可以在这里下载。

Qt/嵌入式自由版是Qt为了开发自由软件提供的嵌入式版本。在GNU通用公共许可证下,它是免费的。

用C的很自然就选择了gtk+, C++的选择了QT。一般选择。QT出来的比C++标准早,所以和标准的C++还是区别的。听说QT的C++并不纯。gtk+也有其它语言绑定,C++的gtkmm,python的pygtk.跨平台大家都能做到,但wxWidget在跨平台上好像选择的人更多 些。 
我用了不短的时间就是在选择到底在Linux下用什么工具来编程,现在选择了Qt。我认为如果要编一些小程序可以使用任何一种工具,但是我认为不管真样选择,我们不能倒退到以前那种存脆的C下全部自己动手的那种局面。那样确实锻炼人培养人,但是人的时间是有限的,当我们要面对比较大的程序的时候QT这种是不错的选择。只是现在用的人太少。QT在windows下能和VC关联起来使用,这对于我们这些用惯VC 的人实在是一个好消息!我现在还仅仅用的是开源版的,以后有机会用它的企业版我想能用的更好。


转自:https://blog.csdn.net/zwjsatan/article/details/8039277

Linux C/C++开发环境搭建指针相关推荐

  1. Linux下Java开发环境搭建

    最近刚开始玩Linux,搞开发搭建环境是第一步,于是总结了这篇Linux下Java开发环境搭建的博客,记录一下我爬过的坑. 一.JDK的下载 jdk8官方下载地址:http://www.oracle. ...

  2. linux以太坊开发环境搭建

    2019独角兽企业重金招聘Python工程师标准>>> 如果你希望马上开始学习以太坊DApp开发,可以访问汇智网提供的出色的在线互动教程: 以太坊DApp实战入门教程 以太坊去中心化 ...

  3. stm32mp1安装linux系统,stm32mp1linux开发环境搭建(cortex a7)

    原标题:stm32mp1linux开发环境搭建(cortex a7) 写在前面: 本文章为<STM32MP1系列教程之Cortex-A7开发篇>系列中的一篇,全系列总计11篇.笔者使用的开 ...

  4. linux上 arm开发环境搭建,详解 LINUX下QT For ARM开发环境搭建过程

    LINUX下QT For ARM开发环境搭建过程是本文介绍的内容,不多说,先来看内容.在PC上,我们需要得到两个版本的Qt,分别是:Qt-4.5.2和QtEmbedded-4.5.2-arm.前者包括 ...

  5. Linux 下 STM32 开发环境搭建

    安装编译器 如果还没安装编译器的,先安装: sudo apt install gcc-arm-none-eabi sudo apt install gdb-arm-none-eabi sudo apt ...

  6. Windows下ARM Linux应用程序开发环境搭建说明

    这是因为工作写的一个文档,主要是我们开发人员都不会Linux不会vi也不会命令行,于是研究了一下Windows系统调试ARM Linux程序的办法,在这共享一下. 1. 概述 嵌入式Linux系统的应 ...

  7. linux C/C++开发环境搭建指南

    2019独角兽企业重金招聘Python工程师标准>>> Eclipse IDE for C/C++ developers 就是安装了CDT的Eclipse IDE了. 一.安装基本开 ...

  8. linux下python开发环境搭建_linux下python开发环境之二——安装Eclipse+PyDev

    Eclipse是由java开发的,所以要想让Eclipse跑起来就得安装jdk,在命令行里输入javac就能查看本机是否已经安装好了jdk了. 1.安装jdk 先从oracle官网上下载jdk,放到/ ...

  9. 基于LINUX下ESP_IDF开发环境搭建安装问题总结

    我的个人博客更多问题:https://blog.hinuohui.com/ 我也是第一次使用LINUX在LINUX下使用交叉编译,也遇到了很多的疑难杂症,我通通总结到本文 ESP_IDF官方参考文档: ...

最新文章

  1. windows通过putty连接虚拟机Fedora
  2. additive tree
  3. 在数据仓储的情况下进一步封装数据库基础操作,此版本为异步版本
  4. String Modification CodeForces - 1316B(规律)
  5. 【Java】finally 语句块不被执行的几种情况
  6. 生成网上下载的EF项目对应的数据库
  7. 用法 the_英语冠词:不定冠词a,an和定冠词the的用法
  8. 64位 setupdienumdeviceinterfaces_win7 32位重装系统详细教程
  9. 一个小故事读懂Memcached漏洞
  10. 拓端tecdat|R语言确定聚类的最佳簇数:3种聚类优化方法
  11. CentOS系统配置 iptables防火墙
  12. 树莓派modelB无法识别exFat格式的SD卡
  13. hane WIN nfs配置
  14. 计算机体系结构(国防科大)-第四章-指令级并行
  15. 程序员客栈 接不到单子_常见(但不常见)单子
  16. mybatis拦截器添加额外参数
  17. 英语中For和To的区别
  18. android jnl的mk文件,动态语言与静态语言
  19. #### 联合索引存储结构 ####
  20. python中的for语句涉及的序列可以是( )-Python for循环语句

热门文章

  1. 【李宏毅2020 ML/DL】P52 Network Compression - Network Pruning
  2. 31. Next Permutation (java 字典序生成下一个排列)
  3. java jdbc 占位符_java-jdbc
  4. 征服 Redis + Jedis + Spring (一)—— 配置常规操作(GET SET DEL)
  5. [转载]依赖注入那些事
  6. [转]WF事件驱动(1)
  7. Eclipse中JAVA项目的打包
  8. MySQL:Specified key was too long; max key length is 1000 bytes
  9. HOWTO:InstallShield的Basic MSI工程中如何增加序列号输入选项
  10. winform listbox 没有listitem的问题