在Linux做C++开发,必然会用到一些开源库,本文针对CentOS系统下
安装编译ACE,QT,Boost等做了详细的讲解。
1. 安装CentOS6.0
32位机器虚拟机安装 CentOS-6.0-i386-bin-DVD.iso
安装过程需要创建一个Guest用户,密码与Root用户相同。
安装完成,默认没有安装 gcc g++
root用户下通过yum install gcc gcc-c++命令安装
2. 编译ACE-TAO-CIAO-6.1.0.tar.gz
下载ACE-TAO-CIAO-6.1.0.tar.gz
配置环境# vi /etc/profile
export ACE_ROOT=/usr/local/DevCommon/ACE_wrappers
export MPC_ROOT=$ACE_ROOT/MPC
export MPC_ROOT=$ACE_ROOT/MPC
export CIAO_ROOT=$ACE_ROOT/TAO/CIAO
export DANCE_ROOT=$CIAO_ROOT/DAnCE
export LD_LIBRARY_PATH=$ACE_ROOT/lib:/usr/local/lib/sparcv9
:/usr/openwin/lib:/usr/lib:/usr/local/lib:
export PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/bin
export PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/bin
使配置生效#source /etc/profile
选择平台配置文件,本系统应该选择config-linux.h,
在$ACE_ROOT/ace 目录下新建config.h文件,在config.h中加入:
#define ACE_HAS_STANDARD_CPP_LIBRARY 1 // 用于标准C++跨平台
#include "ace/config-linux.h" // 在LINUX环境下使用ACE
#define ACE_USE_WCHAR
#define ACE_HAS_WCHAR // 支持unicode
#define ACE_HAS_EVENT_POLL // 支持epoll
选择平台宏定义文件,本系统应该选择platform_linux.GNU,
在$ACE_ROOT/include/makeinclude 目录下新建 platform_macros.GNU,
在platform_macros.GNU中加入一行如 下:
include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
cd $(ACE_ROOT)/ace/
#make -f GNUmakefile
开始编译libACE.so.5.6.0, libACE.so
@Linux使用ACE编程:
我写个简单的Hello ACE!的程序
1.新建个hello.cpp的文件:
#include "ace/Log_Msg.h"
int ACE_TMAIN(int argc, int argv[])
{
ACE_DEBUG((LM_DEBUG, ACE_TEXT(" Hello ACE!\n")));
return 0;
}
2.创建hello.mpc文件:
project(hello) : aceexe{
exename = hello
Source_Files{
hello.cpp
}
Header_Files{
}
}
3.再创建一个可执行文件project(名字可以自己取)
$ACE_ROOT/bin/mpc.pl -type make hello.mpc
4.运行./ project后, 产生Makefile.hello后,运行make -f Makefile.hello 生成hello的可执行文件
5.运行:./hello
6.输出: Hello ACE!