当前位置: 首页 > 工具软件 > GNU Ada > 使用案例 >

linux 安装 gnu make,Ubuntu如何安装GNUMake3?纯小白求教Ubuntu如 爱问知识人

漆雕成弘
2023-12-01

首选,确认你已经安装了build-essential程序包: apt-get install build-essential

确认你已经安装了内核头文件包: uname -r

apt-get install linux-headers-'kernel version'

如果你遇到gcc版本错误,你需要安装编译你内核的gcc版本: cat /proc/version 这会告诉你,你的内核是用什么版本的gcc编译的。

$ cat /proc/version

Linux version 2。6。12-8-386 (buildd@rothera) (gcc version 3。4。5 20050809 (prerelease) (Debian 3。4。4-6ubuntu6)) #1 Tue Aug 30 22:41:30 BST 2005

ls /usr/bin/gcc*

/usr/bin/gcc /usr/bin/gcc-4。

0 /usr/bin/gccbug /usr/bin/gccbug-4。0

可以看到,我的核心是用gcc-3。4编译的,但我只装了gcc-4。0。如果你的也不同于/usr/bin/gcc*,你需要安装核心所用的版本。 apt-get install gcc-3。

4 这是我需要的版本,你的可能不同。

人 们忘记的,并困扰我的是g++版本。一些人好像安装gcc之后就可以正常安装vmware-config。pl。但我的在编译vmmon模块时遇到 "cannot exec 'cc1plus'"错误并停止了。

你需要安装的是和gcc一样版本的gcc-c++,只是Debian/Ubuntu把它叫做g++。 apt-get install g++-3。4

编辑添加: 我忘记你要设定CC为需要的gcc版本了: export CC=/usr/bin/gcc-3。

4

。/runme。pl

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

编译C++与Fortran

GCC 是 GNU 编译器集合(GNU Compiler Collection)的首字母缩写词。

GNU 编译器集合包含 C,C++,Objective-C,Fortran,Java 和 Ada 的前端以及这些语言对应的库(libstdc++,libgcj,……)。

前面我们只涉及到 C 语言,那么如何用 gcc 编译其他语言呢?本节将简单介绍 C++ 和 Fortran 编译的例子。

首先我们尝试编译简单的 C++ 的经典程序 Hello world:

#include

int main(int argc,char *argv[])

{

std::cout >& std::operator >(std::basic_ostream >&, char const*)'

/tmp/cch6oUy9。

o:(。eh_frame+0x11): undefined reference to `__gxx_personality_v0'

collect2: ld returned 1 exit status

出错了!!而且错误还很多,很难看懂,这可怎么办呢?在解释之前,我们先试试下面的命令:

$ gcc -Wall hello。

cpp -o hello -lstdc++

噫,加上-lstdc++选项后,编译竟然通过了,而且没有任何警告。运行程序,结果如下:

$ 。/hello

hello, world

通过上节,我们可以知道,-lstdc++ 选项用来通知链接器链接静态库 libstdc++。

a。而从字面上可以看出,libstdc++。a 是C++ 的标准库,这样一来,上面的问题我们就不难理解了──编译 C++ 程序,需要链接 C++ 的函数库 libstdc++。a。

编译 C 的时候我们不需要指定 C 的函数库,为什么 C++ 要指定呢?这是由于早期 gcc 是指 GNU 的 C 语言编译器(GNU C Compiler),随着 C++,Fortran 等语言的加入,gcc的含义才变化成了 GNU 编译器集合(GNU Compiler Collection)。

C作为 gcc 的原生语言,故编译时不需额外的选项。

不过幸运的是,GCC 包含专门为 C++ 、Fortran 等语言的编译器前端。于是,上面的例子,我们可以直接用如下命令编译:

$ g++ -Wall hello。cpp -o hello

GCC 的 C++ 前端是 g++,而 Fortran 的情况则有点复杂:在 gcc-4。

0 版本之前,Fortran 前端是 g77,而gcc-4。0之后的版本对应的 Fortran 前端则改为 gfortran。下面我们先写一个简单的 Fortran 示例程序:

C Fortran 示例程序

PROGRAM HELLOWORLD

WRITE(*,10)

10 FORMAT('hello, world')

END PROGRAM HELLOWORLD

将文件保存‘hello。

f’,用 GCC 的 Fortran 前端编译运行该文件

$ gfortran -Wall hello。f -o hello

$ 。/hello

hello, world

我们已经知道,直接用 gcc 来编译 C++ 时,需要链接 C++ 标准库,那么用 gcc 编译 Fortran时,命令该怎么写呢?

$ gcc -Wall hello。

f -o helloworld -lgfortran -lgfortranbegin

注意:上面这条命令与 gfortran 前端是等价的(g77 与此稍有不同)。其中库文件 libgfortranbegin。a (通过命令行选项 -lgfortranbegin 被调用) 包含运行和终止一个 Fortran 程序所必须的开始和退出代码。

库文件 libgfortran。a 包含 Fortran 底层的输入输出等所需要的运行函数。

对于 g77 来说,下面两条命令是等价的(注意到 g77 对应的 gcc 是 4。0 之前的版本):

$ g77 -Wall hello。f -o hello

$ gcc-3。

4 -Wall hello。f -o hello -lfrtbegin -lg2c

命令行中的两个库文件分别包含 Fortran 的开始和退出代码以及 Fortran 底层的运行函数。

&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

ubuntu安装GCC 整个过程我自己装过,可以的,具体参考了几个网页,有的忘记了,其中一个是 http://wiki。

ubuntu。org。cn/Qref/Gutsy

确保系统已联入互联网

打开终端,“应用程序 - 附件 - 终端”

修改并更新你的更新服务器列表,输入命令 sudo cp /etc/apt/sources。list /etc/apt/sources。

list_backup

sudo gedit /etc/apt/sources。list 注意:下面在打开的窗口中,把你看到的内容全部删掉,访问我们推荐的源7。10页面。在那里里请选择一组对于你来说速度最快的更新服务器列表。粘贴到你所看到的窗口中。

对电信网通用户,推荐将欧洲官方源服务器粘贴到最后

推荐大家加入ubuntu-cn源(网通访问偏慢)

deb http://archive。ubuntu。org。cn/ubuntu-cn/ gutsy main restricted universe multiverse

4。

刷新软件包列表

sudo apt-get update

装基本开发环境:

sudo apt-get install build-essential gcc make

装编辑器:

sudo apt-get install vim emacs

装基本开发库

sudo apt-get install libc6 libc6-dev

装manpage, 装了之后可以直接用 man printf 查阅printf的详细用法

sudo apt-get install manpages-dev

我按照这个步骤,装成功了,并运行了一个小程序,helloworld ,可以的。

后面的安装都是在线的,所以一定要联网,大概总共有60MB左右吧,还没有全部升级软件,那样更大。(赠人玫瑰,手留余香,如若,您对我的答复满意,请选择“对我有用”,谢谢您的采纳)。

全部

 类似资料: