今天下午闲着没事尝试在自己的PC中的CentOS上装一个Code::Blocks,因为是Linux菜鸟折腾了一下午才基本算搞定但依然有疑惑:
在网上各种谷哥度娘最后才发现还是官方的文档最靠谱:看这里。
上面讲的比较详细,下面简单总结一下安装的步骤:
wxWidgets安装
Code::Blocks的界面依赖于wxWidgets,所以需要先安装它,至于wxWidgets是什么可以百度一下,具体我也不清楚。只知道wxWidgets是一个跨平台的GUI库,而在Linux上它依赖于GDK+,GDK+就相当于函数库,所以不用担心它在你的系统中肯定是有的。事实上C::B真正使用的wxWidgets是wxGDK,所以我们首先需要安装的其实是wxGDK库,版本要求大于2.8.0,官方文档说libwxGDK-2.8.3有点问题,所以不推荐。
下载wxGDK:到这里。注意选择wxGDK,我下的是wxGTK-2.8.12.tar.gz。
解压缩:
tar zxf wxGTK-2.8.12.tar.gz
cd wxGTK-2.8.12
安装:
mkdir build_gtk2_shared_monolithic_unicode
cd build_gtk2_shared_monolithic_unicode
../configure --prefix=/opt/wx/2.8 \
--enable-xrc \
--enable-monolithic \
--enable-unicode
make
su
make install
exit
安装的路径是/opt/wx/2.8/。
设置环境变量:
export PATH=/usr/bin:/opt/wx/2.8/bin:$PATH
然后运行如下命令:
ldconfig
source /etc/profile
ldconfig命令的作用是让动态链接库为系统所共享,source命令的作用简单来说就是使得配置文件的修改立即生效而不需要重启。
安装Code::Blocks
在安装之前还需要先确定一下有没有安装gcc编译器,如果没有yum安装一下,很简单:
yum install gcc-c++
注意:不是yum install g++,我一开始想当然了。
下载Code::Blocks:在这里。我下的是tar包。
解压缩然后依次执行下面的命令:
bootstrap
./bootstrap
bootstrap命令的作用是设置configure脚本及其依赖关系,这个命令只需要执行一次,运行这个命令如果出现下面的错误:
./bootstrap: libtoolize: not found
说明机子上没有安装“libtool”,yum安装下即可:
yum install libtool
重新运行
./bootstrap
可能会报错
[root@localhost codeblocks-13.12]# ./bootstrap
Found revision: '0' ''
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
configure.ac:86: warning: macro `AM_OPTIONS_WXCONFIG' not found in library
configure.ac:87: warning: macro `AM_PATH_WXCONFIG' not found in library
configure.ac:86: error: possibly undefined macro: AM_OPTIONS_WXCONFIG
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
configure.ac:87: error: possibly undefined macro: AM_PATH_WXCONFIG
解决方法:
cp ../wxWidgets-2.8.12/wxwin.m4 /usr/share/aclocal
configure
./configure --with-wx-config=/opt/wx/2.8/bin/wx-config
注意:如果如果wxGDK不是安装在默认的路径这里需要--with-wx-config指定,否则make过程中会提示有error。
接下来安装等待即可:
make
make install
等安装完成后,就可以在Application中找到C::B的图标了。
我刚启动时,会出现的错误是:
之后我用命令启动codeblocks出现如下错误提示: codeblocks: relocation error: codeblocks: symbol _Z23wxHandleFatalExceptionsb, version WXU_2.8 not defined in file libwx_baseu-2.8.so.0 with link time reference
这个错误没找到原因,不过我重启电脑之后,这个错误就消失了,然后就会出现下面的错误,按照下面的步骤解决就可以使用了。
但是我安装后点它却发现启动不起来,通过终端命令启动发现错误信息如下:
意思是找不到libwx_gtk2u-2.8.s0.0这个动态链接库,解决方法是设置LD_LIBRARY_PATH变量:
export LD_LIBRARY_PATH =/opt/wx/2.8/lib/
这种方式是临时的设置环境变量,关闭shell就会失效,需要永久的设置环境变量参看这里这里,修改/etc/profile文件,加入下面这行:
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/wx/2.8/lib"
运行一下
source /etc/profile
centos6.4 安装code::blocks的更多相关文章
-
CentOS 7 编译安装 Code::Blocks
CentOS 7 编译安装 Code::Blocks yum install cairo-devel yum install pango-devel yum install atk-devel yum ...
-
在centos 6.9 x64下安装code::blocks步骤
1.yum groupinstall "Development tools" 2.yum install gtk2* 3.安装wxWidgets 下载地址:https://www. ...
-
在Ubuntu Linux下安装Code::Blocks和Eclipse CDT
最近小白由于有工作学习的需要,要尝试在Linux下进行C++编程.所以特地花了一点时间研究一下Linux下的C++的IDE.最后我尝试了使用Code::Blocks和Eclipse两个著 ...
-
Centos中安装code blocks
CentOS下面安装Codeblocks不像Ubuntu下面那样轻松,可以直接在软件中心安装.这里好多信赖我们要自己安装,也不是很麻烦. 1.先安装gcc和gcc++,这个可以直接安装 # yum i ...
-
[linux]安装code::blocks
1.安装基本编译环境 $sudo apt-get install build-essential $sudo apt-get install gdb 2.安装codeblock $sudo apt-g ...
-
CentOS7安装Code::Blocks
在CentOS7上安装Codelocks的过程. 1.安装gcc,需要c和c++两部分,默认安装下,CentOS不安装编译器的,在终端输入以下命令即可yum install gccyum instal ...
-
Code Blocks+gtest环境配置
本文仅介绍Code::Blocks+gtest环境配置,gtest具体使用方法请参考: 玩转Google开源C++单元测试框架Google Test系列(gtest)(总) http://www.cn ...
-
VC++6.0 IDE的工程用Code::Blocks来打开、编译、调试终极配置方案
本篇文章转自 CSDN blog,转载请注明出处! 原文地址: http://blog.csdn.net/liquanhai/article/details/6618300 引子:竟然可以用Code: ...
-
ubuntu下code::blocks编译运行一个简单的gtk+2.0项目
在具体的操作之前,首先需要安装一些必要的软件.ubuntu下默认安装了gcc,不过缺少必要的Header file,可以在命令行中输入下面的指令安装build-essential套件:sudo apt ...
随机推荐
-
T-Sql(二)事务(Transaction)
今天讲下T-Sql语法中事务的用法,事务在项目中一般用的很少,主要用于转账,或是一些多表操作,第一步完成不了滚回,不执行接下的步骤.要么都不完成要么都完成,这是事务的特征. 语法很简单,示例代码如下: ...
-
hdu 4405Aeroplane chess(概率DP)
Aeroplane chess Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
-
css复合属性的写法
# 复合属性也称为 "shortcut" property (快捷属性),它作用是为了简化代码,提高页面运行的效率. # 下面的内容会介绍 2 个比较常用的复合属性 "f ...
-
Android4.4 蓝牙源代码段分析
最近GOOGLE发布时间Android4.4,我看了看源代码.4.4蓝牙打开过程或这部分的一些变化,判断蓝牙开关是从接口设置settings在里面switch开关,widget当然,它可以切换,也许启 ...
-
ActiveMQ in Action(4) - Security
关键字: activemq 2.4 Security ActiveMQ支持可插拔的安全机制,用以在不同的provider之间切换.2.4.1 Simple Authentication Plug ...
-
.net core2.0下使用Identity改用dapper存储数据
前言. 已经好多天没写博客了,鉴于空闲无聊之时又兴起想写写博客,也当是给自己做个笔记.过了这么些天,我的文笔还是依然那么烂就请多多谅解了.今天主要是分享一下在使用.net core2.0下的实际遇到的 ...
-
12563 Jin Ge Jin Qu hao
• Don’t sing a song more than once (including Jin Ge Jin Qu). • For each song of length t, either si ...
-
C#-封装(七)
封装概念 C#是面向对象的一门语言,面向对象的语言有三大特性:封装.继承.多态.而封装可以实现一个自定义的类,从而定义新的对象 封装是将一个或多个项目集合在一个单元中,这个单元称之为类.这样可以防止对 ...
-
Oracle简单的序列应用
1.序列的简单作用 1.需要自增或自减一个值的时候. 2.为表中的列自动产生值. 3.由用户创建数据库对象,并可由多个用户共享. 4.一般用于主键或唯一列. 2.创建序列的语法及解析 create s ...
-
Python 内置函数sorted()在高级用法
对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...