Red Hat 上安装 CodeBlocks 笔记

今天想在我的RedHat上装个CodeBlock,费了挺多时间的。装到要吃晚饭的时候终于成功了,于是决定写篇文章记录下我的安装过程。

因为安装过程非常“曲折”,所以这篇文章也记录了很多我试错的过程,很多步骤在后面看来都可以算作废步骤。如果希望看到最精简的解决方案,可以求助其他大牛的安装过程。这篇文章只相当于我今天在我的计算机上安装CodeBlock的一个笔记(惭愧~~~ :-P)。

1.我的环境

我是在RedHat上安装的CodeBlock,版本号可以用下面这个命令查询

cat /etc/redhat-release

查询出来的版本信息为:

Red Hat Enterprise Linux Server release 6.4 (Santiago)

我在虚拟机里安装的是64位的RedHat,关于RedHat是32位还是64位,可以用命令

arch

查出来,我查出来的是x86_64,说明是64位的

2.下载CodeBlock

登陆到CodeBlock官方网站的下载页面 http://www.codeblocks.org/downloads

登陆后在左侧树形菜单中找到 Main→Download→Binaries

因为我是在RetHat上安装,所以我选了和RetHat比较近的Fedora上的安装包

codeblocks-13.12-1.el20.x86_64.tar.xz

我在 Download from 栏中选择了 Sourceforge.net

安装过程可以参考官网自己的wiki页面 http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_nightly_build_on_Fedora

下载后我把它放在了我系统里 /home/oracle/Downloads/codeblocks (oracle是我在这个linux系统里的用户名)

解压这个文件,输入命令

xz -d codeblocks-13.12-1.el20.x86_64.tar.xz

解压后可以发现目录 codeblocks-13.12-1.el20.x86_64.tar,再次解压

tar xvf codeblocks-13.12-1.el20.x86_64.tar

解压缩后有文件夹 fc20,进入后可以发现目录 fc20/x86_64/ 中有四个文件

codeblocks-13.12-1.el29.x86_64.rpm

codeblocks-contrib-devel-13.12-1.el29.x86_64.rpm

codeblocks-contrib-13.12-1.el29.x86_64.rpm

codeblocks-devel-13.12-1.el29.x86_64.rpm

输入下面的命令进行安装

yum install codeblocks*

结果安装失败,查看提示信息后发现需要wxGTK

3.下载并安装wxGTK

下载地址:http://www.filewatcher.com/m/wxGTK-2.8.1.tar.bz2.8891289-0.html

这个地址里有三个下载地址:

2007-01-07  ftp://ftp.wxwindows.org/pub/2.8.1/wxGTK-2.8.1.tar.bz2

2007-01-07  ftp://ftp.wxwidgets.org/pub/2.8.1/wxGTK-2.8.1.tar.bz2

2007-01-07  ftp://biolpc22.york.ac.uk/pub/2.8.1/wxGTK-2.8.1.tar.bz2

我选择了第三个,下载后可得到文件 wxGTK-2.8.1.tar.bz2

我把它保存到了目录 /home/oracle/Downloads/wxgtk 中

输入下面的命令解压:

tar jxf wxGTK-2.8.1.tar.bz2

解压完毕后会有一个目录 wxGTK-2.8.1 进入后执行以下命令:

./configure --enable-xrc --enable-monolithic --enable-unicode

执行这步时出错了,RedHat提示我要安装GTK+

输入这个命令可以安装GTK+

yum install gtk*

查看GTK+安装情况,可以用这个命令:

pkg-config --list-all | grep gtk

我输入这个命令后得到的结果是

gtk+-2.0                         GTK+ - GTK+ Graphical UI Library (x11 target)
gtk-doc                          gtk-doc - API documentation generator
gtk+-x11-2.0                  GTK+ - GTK+ Graphical UI Library (x11 target)
gtk+-unix-print-2.0        GTK+ - GTK+ Unix print support

重新运行上面那个配置 wxGTK-2.8.1 的命令

./configure --enable-xrc --enable-monolithic --enable-unicode

就可以顺利执行了,下一步就是输入make命令

make

这个时候又出现错误了:大意是说 struct _GSocket 被typedef了两次,这个结构的很多属性找不到

我参考了这篇博客:http://blog.csdn.net/ssl2009/article/details/7062621

找到文件 src/gtk/gsockgtk.cpp,修改上面include部分

...
#include<stdio.h>

//用define围起来
#define GSocket GlibGSocket  
#include <gdk/gdk.h>  
#include <glib.h>  
#undef GSocket  

#include "wx/gsocket.h"  
#include "wx/unix/gsockunx.h"
...

将 gdk/gdk.h 和 glib.h 的上面添加一个宏 GlibGSocket,在下面再把这个宏取消,就可以顺利编译通过啦

make
make install

安装完毕后,输入命令

wx-config --libs

可以看到 -L/usr/local/lib -L/usr/lib64 -lwx_gtk2u-2.8

有-lwx_gtk2u-2.8说明安装成功!安装后要重启系统

4.安装wxWidgets

重启系统后,我发现之前下载的CodeBlock四个rpm文件还是没法运行,上网查了下,可能还要装wxWidgets吧,抱着试试看的心理,就装了一个:

CSDN上找的资源:http://download.csdn.net/download/chenjack537/4313344

下载后保存到 /home/oracle/Downloads/wxwidgets,解压缩

tar -xzvf wxWidgets-2.8.12.tar.gz

解压后会发现一个新目录 wxWidgets-2.8.12,进入后输入命令安装(安装后重启系统)

./configure --with-gtk --prefix=/usr
make
make install

5.重新安装wxGTK 2.8.12

上面的工作进行完毕后,4个rpm文件还是不能正确运行,提示的错误信息依然是找不到so文件

上网查了下,有人说是需要版本2.8.12才能支持CodeBlock(汗!)

只能把之前装的2.8.1版本的wxGTK先卸载了

rm -rf /usr/bin/wx*
rm -rf /usr/include/wx*
rm -rf /usr/lib/wx*
rm -rf /usr/lib/libwx*
rm -rf /usr/local/bin/wx*
rm -rf /usr/local/include/wx*
rm -rf /usr/local/lib/wx*
rm -rf /usr/local/lib/libwx*
ldconfig

这回我下载了 wxGTK-2.8.12-1.el6.rf.i686.rpm

还是从CSDN上找的资源:http://download.csdn.net/download/muyazhong/4689639

下载后保存到目录 /home/oracle/Downloads/wxgtk-2.8.12

输入下面的命令安装:

yum install wxGTK-2.8.12-1.el6.rf.i686.rpm

重启电脑后,输入命令

wx-config --version

可以发现版本号从之前的 2.8.1 变成了 2.8.12

这次安装,由于没有像之前那样在configure脚本中输入 --prefix=/usr,因此要进行如下操作:

vi /etc/ld.so.conf

在最后一行添加 /usr/local/lib

保存后退出,用ldconfig命令加载刚才的设定

下面是此时我的Linux对三个命令的反应

命令:wx-config --prefix

输出:/usr

命令:wx-config --libs

输出:-pthread -L/usr/lib64 -lwx_gtk2_richtext-2.9 -lwx_gtk2_aui-2.8 -lwx_gtk2_xrc-2.8 -lwx_gtk2_qu_2.8 -lwx_gtk2_html_2.8 -lwx_gtk2_adv_2.8 -lwx_gtk2_core-2.8 -lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8

命令:which wx-config

输出:/usr/bin/wx-config

6.重新下载CodeBlock

遗憾的是,这次虽然把wxGTK的版本调到了2.8.12,之前下载的4个rpm文件还是没法运行(==!)

我觉得应该换一个包试一试,我又在SourceForge里找了个低一些的CodeBlock版本:

http://ncu.dl.sourceforge.net/sourceforge/codeblocks/codeblocks-8.02-src.tar.bz2

下载后我把它保存到 /home/oracle/Downloads/codeblocks-8 .02

输入命令解压缩文件:

tar jxf codeblocks-8.02-src.tar.bz2

得到目录 codeblocks-8.02,进入后,输入命令:

./configure -prefix=/usr

运行完全正常,这个时候再用make编译,结果报错!

错误信息说 prefix.cpp 的第396和432行存在语法错误:invalid conversion from ‘const char*‘ to ‘char*‘

这个时候,就需要对代码进行修改

vim ./src/src/prefix.cpp

到第396行和第432行,原来的语句为

end = strrchr (path, ‘/‘);

现在把它们都改为

end = strrchr (const_cast<char*>(path), ‘/‘);

这个时候重新make,就可以成功编译通过了

make
make install

编译完毕后重启系统。

7.运行CodeBlock

在终端(Terminal)中输入命令

codeblocks

这个时候如果报错:codeblocks: error while loading shared libraries: libcodeblocks.so.0: cannot open shared object file: No such file or directory

以root身份进入到文件 /etc/ld.so.conf 中,将/usr/local/lib加入到文件末尾,并输入命令ldconfig,就可以解决了

第一次进入CodeBlock时,弹出了窗口 Compilers auto-detection,我这里只有 GNU GCC Compiler 是 Detected状态,于是直接把它“Set as default”

这样就可以进入到CodeBlock界面中了

8.一个HelloWorld程序

下面我来创建一个HelloWorld程序

在上方的菜单中选择:File→New→Project

在弹出窗口的左侧列表中选择Files,选择C/C++ Source

语言选择C(在C和C++之间选择),Filename with full path项中选择:/home/oracle/Documents/codeblocktest.c

在这个文件中写下如下代码:

#include <stdio.h>
void main()
{
    printf("Hello World!\n");
}

按下Build按钮进行编译

下方的Build log会提示编译状况

Build完毕后,会发现.o文件和可执行文件已经被自动生成好,在命令行中直接就可以运行了。

END

时间: 2024-08-24 10:55:54

Red Hat 上安装 CodeBlocks 笔记的相关文章

基于网络的 Red Hat 无人值守安装

基于网络的 Red Hat 无人值守安装 本文介绍了 PC 平台上的一种快速 Red Hat Linux 安装方案.它具有很高的自动化程度--用户只需手工启动机器并选择从网络启动,就可以完成整个安装过程.在需要批量安装大量 Red Hat Linux 系统和需要技术人员 Red Hat Linux 安装支持的情况下,这种方案可以节省大量的时间.而且由于不需要额外的软件和光驱和软驱等硬件设备,在成本上也有很大优势.所有安装 Red Hat Linux 的开发/测试人员,和 IT 支持人员都能够从本

Red hat Linux 安装Node.js 源码安装

1. 下载源码包 http://nodejs.org/dist/v0.10.29/node-v0.10.29.tar.gz 2.准备安装环境,>python2.6, gcc, g++ python redhat自带了不用装, gcc:  yum install -y gcc gcc-c++ 3. tar -zxf node-v0.10.29.tar.gz cd node-v0.10.29 ./configure && make && sudo make install

Red Hat Linux安装vsftpd

一.安装分区方案: (1)交换分区,两倍内存 (2)/boot分区 (3)/剩余的所有空间语言选择English(英语) 二. 配置IPIP地址.子网掩码: 编辑 /etc/sysconfig/network-script/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static -静态还是动态 BROADCAST=192.168.1.255 IPADDR=192.168.1.35 -IP地址 NETMASK=255.255.255.0 -子网掩码 NETWORK=192.

如何给Red Hat Linux安装Vmware Tools

众所周知在VMware虚拟机中安装好了VMware Tools,才能实现主机与虚拟机之间的文件共享,同时可支持自由拖拽的功能,鼠标也可在虚拟机与主机之前自由移动(而不再用按Ctrl+Alt释放),而且还可以令虚拟机屏幕也可实现全屏化,重要一点能使得虚拟机的来宾系统时间与宿主机一致. 那么Red Hat Linux系统如何安装VMware tools的呢? 下面就介绍该工具(Vmware-Tools)在Linux环境中的安装步骤: 1. 在安装Linux的虚拟机中,单击"虚拟机"菜单下的

Red Hat Linux 安装及服务控制

1.1安装 Red Hat Linux 1. 插入RHEL 6 安装光盘并引导安装程序 根据提示选择不同的安装模式,这里选择“Install or upgrade an existing system”“,即“安装或升级现有的系统”.(其选项是在有显卡驱动程序的情况下安装-图形安装) 2.检测安装光盘的完整性 提醒用户检测光盘安装的完整性,光盘检测需要花费较长的时间,可以按下”Tab键“跳过检测过程. 3. 配置安装程序 (1)首先显示的是安装程序的欢迎界面,单击“Next”按钮继续. (2)选

linux(red hat)下安装jenkins

Jenkins的安装可以分为在线安装和下载软件本地安装,我这里用的是第二种方法,将其下载后是一个应用程序直接点击安装就可以,等安装完后配置一下jdk的路径就ok啦!接下来进行详细的说明: 一.前提 1. 在安装jenkins之前一定要安装jdk,服务器上安装的是jdk1.8 2. 下载好jenkins的安装包(官网),我用的是:jenkins-1.617-1.1.noarch.rpm 二.安装 1. 将下载的安装包解压到你想要安装的目录 2. 双击安装,根据提示向导一步步安装就可以 三.配置 1

阿里云上安装vsftp笔记

安装 ftp 1 ssh登录服务器       首先检查有没有安装运行 ps -ef |grep vsftpd         2 yum安装vsftpd        yum安装    yum istall vsftpd -y 3 修改配置 .增加开机启动     vi /etc/vsftpd/vsftpd.conf         anonymous_enable=YES改成NO         保存退出     查看vsftpd又没有被设置为开机自启动         chkconfig

Linux(Red Hat)-中安装Vmware Tools

0. 会弹出 ***1.在弹出的文件夹中找到"VMwwareTools9.6.2-1688356.tar.gz",右击"解压缩到"...我解压缩到了"home/{用户名}/ToolsTemp/"文件夹里了... 注意到这个文件就可以了↓ *********2. 最后就容易了,打开终端"cd /home/{用户名}/ToolsTemp"回车... "./vmware-install.pl"回车... 就可以了

虚拟机VMware下安装Red Hat Linux 9.0步骤详解

注意:本安装全部是在虚拟机上进行的,用的是ISO镜像文件安装. 1.安装完VMware  Workstation后,启动VMware  Workstation,新建一个虚拟机,其主界面如下图. 2.VMware  Workstation的配置 VMware  Workstation安装完毕后,利用它可以建立多个虚拟机,每新建一个虚拟机,就会要求你建立一个配置文件.这个配置文件实际上相当于新电脑的"硬件配置",你可以在配置文件中决定虚拟机的硬盘如何配置,内存多大,准备运行哪种操作系统,是