centosc如何编译
㈠ 请教如何在Centos 下安装C/C++编译,开发环境
首先,需下载以下软件包 Eclipse IDE for C/C++ Developers
该下载包已经集成了CDT了所以就不需要再像以前那样劳神费力去配置了。
不过,Eclipse运行需要有Java运行环境库(JRE)和Java开发工具包(JDK),如果没有安装的可以参考我前一篇文章进行安装.
另外,既然进行C/C++开发,自然要安装相应的编译器及工具链,在CentOS下可以使用yum来安装
yum install gcc gcc-c++
至此基本上已经大功告成,可以运行解压缩后的Eclipse,根据向导建立一个C++的HelloWord!测试一下是否可以编译执行。
㈡ 在centos编译c程序用什么软件
有以下使用广泛的免费编译器:
gcc
clang
㈢ linux centos7使用make编译时报错,提示C文件初始值设定元素不是常量,请问应该怎么解决
static const 初始化值必须为常量,就是只能是编译时就能确定的值,而不是运行时运算出来的值.
得看看makefloatx80是什么,如果是一个普通函数,那么出现这个错误是应该的.
考虑到是官方库,可能是使用的编译器版本不同.
㈣ 如何升级centos7内核并且编译
、使用 elrepo rpm包升级
查看前系统内核版本 uname -r
1. 导入key
rpm --import
2. 安装 elrepo yum源
rpm -Uvh
3. 安装内核
yumelrepo源新版本内核直接yum安装即
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y
5. 设置系统启顺序
查看系统启项:
cat /boot/grub2/grub.cfg |grep menuentry
发现新版本内核设置新版本内核默认启:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默认启系统版本grub2-editenv list:
显示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
6. reboot重启再查看 uname -r
二、使用源码编译安装升级
1 载内核源码
载网址
wget xxx
2 解压并进入源码目录
3 更新系统并安装依赖软件
#yum update
#yum upgrade
#yum groups install Development Tools
#yum install ncurses-devel qt-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
4 前内核配置文件拷贝前目录
本应该执行make menuconfig自定义内核配置配置文件.config; 直接使用原系统内核配置拷贝/boot目录配置文件前目录
cp /boot/config-2.6.32-431.11.2.el6.x86_64 .config
5 使用前内核配置
#sh -c 'yes "" | make oldconfig' #centos 6
#sh -c 'y "" | make oldconfig' #centos 7
6 编译安装
#make bzImage
#make moles
#make moles_install
#make install
7 设置系统启顺序
查看系统启项:
cat /boot/grub2/grub.cfg |grep menuentry
发现新版本内核设置新版本内核默认启:
grub2-set-default 'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
查看默认启系统版本grub2-editenv list:
显示'CentOS Linux (4.8.5-1.el7.elrepo.x86_64) 7 (Core)'
8 reboot重启再查看 uname -r
-
㈤ centos7怎么编译安装gcc-c++
方法/步骤
1
yum install glibc-static libstdc++-static -y
安装c和c++的静态库(据说如果系统中缺少libc.a和libstdc++.a编译时会出错,但是我没有那么多闲情逸致去试,实践过的朋友可以回复一下,分享一下经验,让大家都长长见识)
2
下载解压gcc,我的gcc目录是gcc-4.8.0
3
进入gcc目录,执行:
./contrib/download_prerequisites
这个神奇的脚本文件会帮我们下载、配置、安装那三个依赖的库。可以节约我们大量的时间和精力。
4
你以为这三个库自动下载了、自动make install了就没事了吗?错!
很多人在编译gcc的时候出现各种奇奇怪怪的错误就是这步没有做好。
它们还不在.so文件的搜索路径里面,需要加进去,最后切记切记一定要执行一下ldconfig。
大致做法为:
1,找到你的共享库文件被install到哪个目录了(updatedb+locate命令)。
2,如果你的库不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享库的路径
3,如果在2中添加了共享库路径,切记要执行一下ldconfig,更新响应cache文件让系统能找到你的共享库。
5
建立临时目录,这个目录用以存放编译时的大量临时文件,是文档要求中必须的。
我是在gcc-4.8.0下建立了一个名为gcc-build-4.8.0的目录,进入它。
mkdir gcc-build-4.8.0
cd gcc-build-4.8.0
配置gcc编译选项
6
强烈建议阅读INSTALL目录下的说明文档,尤其是configure.html,以确定你的编译选项。
比较基本的选项有--enable-languages,说明你要让你的gcc支持那些语言,--disable-multilib不生成编译为其他平台可执行代码的交叉编译器。--disable-checking生成的编译器在编译过程中不做额外检查,也可以使用--enable-checking=xxx来增加一些检查。
网上还说了什么--with-gmp、--with-mpfr、--with-mpc这三个选项,但是如果你3,4步做好了,就不要配了,反之你还是老实点吧别抱侥幸心理了。
调用gcc-4.8.0目录下的configure文件:
例如:
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
7
执行
../make #不解释
执行编译命令(#在8核的虚拟机上进行编译,每个核分配2个编译任务)
make -j16
make install编译过程CPU 核基本100%占用,整个编译用时11分50秒。
检查gcc版本
#你就等吧少年,建议晚上睡觉前做
当然上面三步一定要在前一步顺利结束的情况下进行,如果哪一步出错了,结果都显示error了,就不要再做后面的了。在shell的输出里搜索"error"看具体的出错点是什么,、google一下为什么。
如果你求稳的话,可以在make install之前先make check一下。
㈥ CentOS 5.5下如何编译安装新内核
第一步:下载内核
传送门:地址.笔者下载的是3.2.84版本
第二步:解压编译内核
由于我下的是.tar.xz文件,用tar命令不能直接解压。
1.我的系统里不带xz解压软件,先下载xz-5.0.3.tar.bz2文件并解压安装
tar -jvxf xz-5.0.3.tar.bz2 cd /opt/xz-5.0.3 #进入解压后的文件夹 ./configure make make install2.解压内核
xz -d linux-3.2.84.tar.xz tar -xvf linux-3.2.84.tar3.如果是第一次编译内核,并没有上次残留的文件可以跳过该步骤(最好仔细看下指令对应的功能)
make mrproper make clean 删除大多数的编译生成文件, 但是会保留内核的配置文件.config, 还有足够的编译支持来建立扩展模块 make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件 make distclean mrproper删除的文件, 加上编辑备份文件和一些补丁文件。4.搭建编译内核所需要的环境
yum -y install gcc yum install ncurses ncurses-devel yum install openssl-devel5.进入内核解压文件夹配置内核参数
由于我是个小白不会选,为了方便,直接用make localmodconfig命令,这个命令是以本来的.config文件为基础去选,可以参考论文:嵌入式linux系统的裁剪优化和测试技术.然后我就一直回车直到结束。然后再输入make menuconfig命令进入图形选择菜单,将kenel hacking中的Sample..选项去掉(具体那一项我忘了,尴尬),退出保存。然后编辑.config文件中的“CONFIG_SYSFS_DEPRECATED”,默认该选项为not set,被注释掉的,将其改为y,即修改为“CONFIG_SYSFS_DEPRECATED=y”,之后可能还要修改,后面再说。
6.编译新内核
make bzImage && make moles && make moles_install7.安装内核
8.编译安装可能出现的情况
应该是没什么问题, 不过也不排除会出现下面的情况:make:警告:检测到时钟错误。您的创建可能是不完整的。 解决办法:find . -type f -exec touch {} ; 重新编译下就好了。
9.处理下img中的东西(我说不清楚= =)
1)解压initrd文件
# cp /boot/initrd-3.2.84.img /tmp # cd /tmp/ # ls initrd-2.6.30.4.img # mkdir newinitrd # cd newinitrd/ # zcat ../initrd-2.6.30.4.img | cpio -i释放之后看到如下内容
# ls bin dev etc init lib proc sbin sys sysroot2)编辑init,删掉其中重复的四行中的两行 echo “Loading dm-region-hash.ko mole” insmod /lib/dm-region-hash.ko echo “Loading dm-region-hash.ko mole” insmod /lib/dm-region-hash.ko 3)重新打包initrd
# find . | cpio -c -o > ../initrd 11538 blocks # cd .. # gzip -9 < initrd > initrd.img # ls initrd-2.6.30.4.img initrd initrd.img这里面的initrd.img就是重新打包后的文件。 4)把initrd.img复制到/boot下 命令:#cp initrd.img /boot 5)修改grub.config,在/etc文件夹下 把initrd-3.2.84.img改为initrd.img就可以了 6)reboot重启 记得选择自己的内核!别错过啦!
以上内容就是小编为大家带来的关于CentOS 5.5下编译安装新内核的方法了,希望可以帮助到大家!
㈦ eclipse可以编译c语言吗
eclipse可以编译c语言。