开发坏境搭建

开发环境搭建(C++)

来自zhicloud
跳转至: 导航 搜索

整体要求[编辑]

致云C++平台模块、公共代码库均只在特定环境下编译运行,因此致云模块的开发、测试、部署必须严格按照要求执行,否则将得到不可预期的结果


同时,提交版本库的代码、项目必须在本规则要求统一的环境下编译通过,以确保所有开发团队获取代码后都能快速顺利编译,提高开发效率,所有不满足要求的提交都将视为不合格代码返回修改。


编译环境要求如下:

  • 操作系统:CentOS 6.4 64bit版本
  • 图形环境:XWindows + code blocks
  • c++编译器:gcc 4.9.2
  • 依赖库:boost 1.57.0/致云framework


编译目录要求

安装好操作系统后,应当创建"/home/develop/"目录,所有模块代码、依赖库都应当安装到该目录下,以便统一管理和部署,如:

/home/develop/boost_1_57_0         ;boost库
/home/develop/framework            ;致云公共库
/home/develop/control_server       ;cs代码


准备工作[编辑]

作为编译环境的主机应当能够正常访问网络

需要提前下载以下文件:

将gcc-4.9.2.tar.bz2和boost_1_57_0.tar.gz保存到/home/develop/下

将code blocks安装源直接安装好


确保yum指令已安装并能正常工作,在命令行执行以下指令安装相关依赖系统库:

yum install wget  gcc gcc-c++ zlib-devel  gtk2-devel  zip  libart_lgpl-devel  libXtst-devel -y

以上步骤成功完成后,开始进行编译环境安装


编译器[编辑]

致云代码使用gcc 4.9.2编译生成,将gcc-4.9.2.tar.bz2保存到/home/develop目录,根据以下步骤进行编译安装

#cd /home/develop

;解压源代码
#tar jxvf gcc-4.9.2.tar.bz2
;如果下载了.tar.gz则执行以下指令
#tar zxfv gcc-4.9.2.tar.gz

;下载依赖包
#cd gcc-4.9.2
#./contrib/download_prerequisites

;创建编译中间目录
#cd ..
#mkdir gcc-obj
#cd gcc-obj

;配置编译参数
#../gcc-4.9.2/configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++ --disable-dssi --enable-libgcj-multifile --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --disable-multilib

;指定编译
#make
;如果编译主机为多核CPU,可使用多核编译,将以下指令中的n改为需要使用的核数,比如"make -j 4"使用4核编译,可以大幅度缩短编译时间
#make -j n

;安装
#make install


以上指令成功执行后,执行gcc -v,应当看到如下输出版本信息,则gcc编译器安装成功

gcc version 4.9.2 (GCC)

安装成功后,可以删除/home/develop下的gcc-4.9.2及gcc-obj两个中间目录以节约空间

code blocks[编辑]

成功安装从发布源网站 下载的安装源RPM

可以从Xwindows的System->Administration->Add/Remove software中搜索opensource,看到OpenSource Cross Platform Free C++ IDE,下面标注为codeblocks_....

选择该软件包下载并安装相关依赖包即可在Application->Programming->Code::Blocks IDE中打开code blocks编写和查看代码


依赖库[编辑]

致云模块开发编译一般需要两部分依赖库:致云基础公共代码库framework封装了基本的平台框架代码,boost提供了c++11之外更丰富的应用代码库


致云Framework[编辑]

致云基础框架库framework无需编译,直接文件形式就可以使用

framework包含两部分,include目录下是基础库的头文件定义,release和debug两个版本的库文件libzhicloud_public.a和libzhicloud_public_d.a

首先在/home/develop目录下创建framework子目录,将framework内容拷贝到该目录即可,目录内容如下:

/home/develop/framework/include                        :头文件定义
/home/develop/framework/libzhicloud_public.a           :release静态链接库
/home/develop/framework/libzhicloud_public_d.a         :debug静态链接库

复制完成后,直接在项目的包含、链接路径设定好framework目录就可以使用


boost[编辑]

boost由无需链接的hpp文件和需要链接的库组成,通常需要编译好库文件才能完整使用boost的功能

编译前,首先确保最新的gcc已经编译安装,然后将boost_1_57_0.tar.gz拷贝到/home/develop下,执行以下命令进行安装:

#cd /home/develop
#tar zxfv boost_1_57_0.tar.gz
#cd boost_1_57_0
#./bootstrap.sh

;编译release静态库
#./b2 toolset=gcc link=static variant=release threading=multi runtime-link=static stage 

;编译debug静态库
#./b2 toolset=gcc link=static variant=debug threading=multi runtime-link=static stage 

编译完成后会生成两个主要路径

/home/develop/boost_1_57_0/boost                    ;头文件存放目录,通常设置/home/develop/boost_1_57_0/为include搜索目录
/home/develop/boost_1_57_0/stage/lib                ;链接库存放目录,通常设置该目录为链接搜索目录
 
  
codeblock: https://rpm.jenslody.de/centos-jenslody.de-0.2-2.el5.centos.noarch.rpm
boost: http://www.boost.org/users/history/version_1_57_0.html
gcc: https://gcc.gnu.org/gcc-4.9/
 
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值