gcc ubuntu 安装,linux安装gcc命令步骤
怎样在Ubuntu下面安装GCC
在Ubuntu系统中安装GCC以获取其版本信息,首先需查看当前系统的版本。示例中Ubuntu 20.04.5 LTS的版本信息为"focal"。通过查询APT软件包,了解到在2022年12月16日,该Ubuntu版本可以安装至GCC 10版本,而默认安装的GCC版本为9。
接下来,通过执行`gcc--version`命令,可以查看本地已安装的GCC版本信息。若要实现多版本管理,Ubuntu系统提供了一个强大的工具:`update-alternatives`。利用此工具,用户可以在系统中存在多个版本的编译器时,进行管理和灵活切换。
在多版本管理场景下,通过创建软链接,用户可以轻松地在不同的GCC版本之间切换。执行如下命令实现软链接的创建与切换:
执行命令以切换gcc版本:
执行命令以切换g++版本:
在上述示例中,选择了GCC 10版本。
最后,通过执行`gcc--version`命令再次查看当前GCC版本号,确保成功切换至所需的GCC版本。以上步骤为在Ubuntu系统下安装并管理GCC版本的直观方法,为开发人员提供高效灵活的编译环境。
ubantu怎样安装c++环境
ubuntu下的c/c++环境搭建是比较简单,因为有apt和新立得的帮助.
1.
首先是配置gcc,在ubuntu安装完成已经有gcc了(gcc是由GNU之父Stallman所开发的linux下的编译器,全称为GNU
Compiler Collection,目前可以编译的语言包括:C, C++, Objective-C, Fortran, Java, and
Ada.).但是gcc还不能编译文件.因为缺少一些头文件.那么我们就要来配置这些头文件.在这里我们需要安装build-essential这个软件
包,安装了这个包会自动安装上g++,libc6-dev,linux-libc-dev,libstdc++6-4.1-dev等一些必须的软件和头文
件的库.
安装build-essential,你可以在新立得搜索然后安装或者在终端里输入:
sudo apt-get install build-essential
2.
除了编译器外,我们还需要一个文本编辑器.因为我们需要编辑c程序的代码.其实ubuntu有自带编辑器,我们可以创建一个文档.然后输入代码,讲名字改为*.c.还可以使用另外一个文本编辑器vi.如果你的ubuntu没有.那我们可以在终端输入:
sudo apt-get install vim-full
完成后我们就有一个非常强大的编辑器vi.
3.
完成以上两步,你就可以开始编译你ubuntu上第一个c语言程序.
在主文件夹中,建立一个hello.c的文件,双击文件输入代码:
#include<stdio.h>
int
main(void)
{
printf("Hello,ubuntu!\n");
return 0;
}
然后保存.
又或者你可以在终端输入:gvim hello.c
然后同样输入代码保存.
然后在终端输入:
gcc-Wall hello.c-o hello
如果没有发现错误,那就再输入./hello
那么在终端里.你就可以看到你的程序输出:
Hello,ubuntu!
4.
如果你要编译c++,那你就需要建立一个*.cpp的文件.然后在终端输入:
g++-Wall file.cpp-o file
./file
5.图形环境配置
安装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!
ubuntu怎么安装gcc
是网上查阅后总结的,,可能会相似
在Ubuntu下安装GCC和其他一些Linux系统有点不一样。
方法一:
该方法超简单:
sudo apt-get build-depgcc
就上面这条命令就可以搞定
方法二:
sudo apt-get install build-essential
还是简单,一句命令也可以搞定
安装完了可以执行
gcc--version
的命令来查看版本,输出如下:
gcc(GCC)4.2.3(Ubuntu4.2.3-2ubuntu7)
Copyright(C)2007FreeSoftwareFoundation,Inc.
编译则使用gcc命令。要往下学习首先就得熟悉gcc命令的用法。
gcc命令提供了非常多的命令选项,但并不是所有都要熟悉,初学时掌握几个常用的就可以了,到后面再慢慢学习其它选项,免得因选项太多而打击了学习的信心。
一.常用编译命令选项
假设源程序文件名为test.c。
1.无选项编译链接
用法:#gcc test.c
作用:将test.c预处理、汇编、编译并链接形成可执行文件。这里未指定输出文件,默认输出为a.out。
2.选项-o
用法:#gcc test.c-o test
作用:将test.c预处理、汇编、编译并链接形成可执行文件test。-o选项用来指定输出文件的文件名。
3.选项-E
用法:#gcc-E test.c-o test.i
作用:将test.c预处理输出test.i文件。
4.选项-S
用法:#gcc-S test.i
作用:将预处理输出文件test.i汇编成test.s文件。
5.选项-c
用法:#gcc-c test.s
作用:将汇编输出文件test.s编译输出test.o文件。
6.无选项链接
用法:#gcc test.o-o test
作用:将编译输出文件test.o链接成最终可执行文件test。
7.选项-O
用法:#gcc-O1 test.c-o test
作用:使用编译优化级别1编译程序。级别为1~3,级别越大优化效果越好,但编译时间越长。
二.多源文件的编译方法
如果有多个源文件,基本上有两种编译方法:
[假设有两个源文件为test.c和testfun.c]
1.多个文件一起编译
用法:#gcc testfun.c test.c-o test
作用:将testfun.c和test.c分别编译后链接成test可执行文件。
2.分别编译各个源文件,之后对编译后输出的目标文件链接。
用法:
#gcc-c testfun.c//将testfun.c编译成testfun.o
#gcc-c test.c//将test.c编译成test.o
#gcc-o testfun.o test.o-o test//将testfun.o和test.o链接成test
以上两种方法相比较,第一中方法编译时需要所有文件重新编译,而第二种方法可以只重新编译修改的文件,未修改的文件不用重新编译。