Fedora下编译安装codeblocks比Ubuntu难一百倍

centos6.8 安装code::blocks

https://i-blog.csdnimg.cn/blog_migrate/59ded026752b9aa43c2cdda1a96eae5d.png

wxWidgets安装

Code::Blocks的界面依赖于wxWidgets,所以需要先安装它,wxWidgets是一个跨平台的GUI库,而在Linux上它依赖于GDK+,GDK+就相当于函数库。事实上Code::Blocks真正使用的wxWidgets是wxGDK,所以我们首先需要安装的其实是wxGDK库,版本要求大于2.8.0,官方文档说libwxGDK-2.8.3有点问题,所以不推荐。

下载wxGDK:到这里。注意选择wxGDK


解压缩:

[plain] view plain copy
  1. tar -jxvf wxWidgets-3.1.0.tar.bz2  
  2. cd wxGTK-2.8.12  

安装(执行“make”命令后需要等待很长的时间):

[html] view plain copy
  1. mkdir build_gtk2_shared_monolithic_unicode  
  2. cd build_gtk2_shared_monolithic_unicode  
  3. ../configure --prefix=/opt/wx/2.8 \  
  4.        --enable-xrc \  
  5.        --enable-monolithic \  
  6.        --enable-unicode  
  7.   
  8. make  
  9.   
  10. make install  

安装的路径是/opt/wx/2.8/。

设置环境变量:

[plain] view plain copy
  1. export PATH=/usr/bin:/opt/wx/2.8/bin:$PATH  
然后运行如下命令:

[plain] view plain copy
  1. ldconfig  
  2. source /etc/profile  

 ldconfig命令的作用是让动态链接库为系统所共享,source命令的作用简单来说就是使得配置文件的修改立即生效而不需要重启。

安装Code::Blocks

在安装之前还需要先确定一下有没有安装gcc编译器,如果没有yum安装一下,很简单(如果不确定有没有也可以执行此命令来验证):

[plain] view plain copy
  1. yum install gcc-c++  

下载Code::Blocks:在这里。我下载的是codeblocks_16.01.tar.gz




解压缩:

[html] view plain copy
  1. tar -zxvf codeblocks_16.01.tar.gz   
  2. cd codeblocks-16.01.release/  

然后依次执行下面的命令:

bootstrap:

[plain] view plain copy
  1. ./bootstrap  
bootstrap命令的作用是设置configure脚本及其依赖关系,这个命令只需要执行一次,运行这个命令如果出现下面的错误
[html] view plain copy
  1. ./bootstrap: libtoolize: not found  
说明机子上没有安装“libtool”,yum安装下即可:

[html] view plain copy
  1. yum install libtool  
重新运行:

[plain] view plain copy
  1. ./bootstrap  
可能会报错

  1. [root@localhost codeblocks-13.12]# ./bootstrap  
  2. Found revision: '0' ''  
  3. libtoolize: putting auxiliary files in `.'.  
  4. libtoolize: copying file `./ltmain.sh'  
  5. libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.  
  6. libtoolize: copying file `m4/libtool.m4'  
  7. libtoolize: copying file `m4/ltoptions.m4'  
  8. libtoolize: copying file `m4/ltsugar.m4'  
  9. libtoolize: copying file `m4/ltversion.m4'  
  10. libtoolize: copying file `m4/lt~obsolete.m4'  
  11. configure.ac:86: warning: macro `AM_OPTIONS_WXCONFIG' not found in library  
  12. configure.ac:87: warning: macro `AM_PATH_WXCONFIG' not found in library  
  13. configure.ac:86: error: possibly undefined macro: AM_OPTIONS_WXCONFIG  
  14.       If this token and others are legitimate, please use m4_pattern_allow.  
  15.       See the Autoconf documentation.  
  16. configure.ac:87: error: possibly undefined macro: AM_PATH_WXCONFIG  
解决方法:

[plain] view plain copy
  1. cp ../wxWidgets-2.8.12/wxwin.m4 /usr/share/aclocal  

重新运行:

[html] view plain copy
  1. ./bootstrap  

configure

./configure --with-wx-config=/opt/wx/2.8/bin/wx-config

注意:如果如果wxGDK不是安装在默认的路径这里需要--with-wx-config指定,否则make过程中会提示有error。

接下来安装等待即可:

[plain] view plain copy
  1. make  
  2. make install  

等安装完成后,就可以在Application中找到C::B的图标了。

但是我安装后点它却发现启动不起来,通过终端命令启动发现错误信息如下:

 

意思是找不到libwx_gtk2u-2.8.s0.0这个动态链接库,解决方法是设置LD_LIBRARY_PATH变量:

[plain] view plain copy
  1. export LD_LIBRARY_PATH =/opt/wx/2.8/lib/  
这种方式是临时的设置环境变量,关闭shell就会失效,需要永久的设置环境变量参需要 修改/etc/profile文件

[plain] view plain copy
  1. vim /etc/profile  

加入下面这行,保存并退出

export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/opt/wx/2.8/lib"
运行一下

[plain] view plain copy
  1. source /etc/profile  
再次点击运行,如果还是运行不起来,重启系统,重启之后就可以正常启动了。


执行程序时报错运行窗口无法启动。报错信息:

  1. Executing: xterm -T ...  
  2. Process terminated with status -1 ...  


解决方法:

把Code:Blocks工具栏中Settings-->Environment中Terminal to launch console programs: 的选项从xterm -T $TITLE -e更改为gnome-terminal -t $TITLE -x,保存,然后就可以成功运行了。

亲测:

Fedora 27中wx 3.1.0以上版本都不兼容。万幸因为configuration时候有设置prefix,把目录删了重建就可以重装一个3.0.4了。

codeblocks倒是模范,可以make uninstall && make clean然后重装。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值