一,安装ACE
(1)下载
下载地址:http://download.dre.vanderbilt.edu/
下载ACE-6.1.0.tar.bz2,这个软件包只包含ACE,不包含TAO等附加的东西,另外bz2压缩格式的源码包比较小,只有7.55M。
(2)解压
mkdir ace-install
tar jxf ACE-6.1.0.tar.bz2 -C ace-install
(3)配置
- 首先使用命令# gcc -v查看gcc版本,确保gcc版本至少为3.79.1。如果gcc版本较低,需要升级gcc。参见gcc升级步骤。
- 设置环境变量ACE_ROOT为解压后的源码目录。如:# export ACE_ROOT=/root/ace-install/
ACE_wrappers
- 创建文件
$ACE_ROOT/ace/config.h
,包含如下内容:- #include "ace/config-linux.h"
- 创建文件
$ACE_ROOT/include/makeinclude/platform_macros.GNU
,包含如下内容:- include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
- INSTALL_PREFIX = /usr/local
- 进入目录 $ACE_ROOT/ace,运行如下命令:
- make && make install
- 创建文件/etc/ld.so.conf.d/ace-6.1.0.conf,包含如下内容:
- /usr/local/lib/
- ldconfig
- 编写一个简单的ACE程序,在这里我就用最简单的Hello World了,代码如下:
#include <ace/Log_Msg.h>
#include <ace/OS_main.h>
using namespace std;
int ACE_TMAIN(int argc, ACE_TCHAR *argv[])
{
ACE_DEBUG((LM_DEBUG, ACE_TEXT(“Hello World!”)));
return 0;
}编译:# g++ -I/usr/local/ACE/include -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"HelloWorld.d" -MT"HelloWorld.d" -o"HelloWorld.o" "HelloWorld.cpp"链接:# g++ -I$ACE_ROOT -L/usr/local/ACE/lib -o"ACETest" ./HelloWorld.o -lACE -lrt –lpthread注意:在链接的时候,必须要加-lACE –lrt -lpthread三个参数,否则会报错。执行:# ./ACETest成功执行的话,会打印出Hello World.
二,安装boost
(1)到www.boost.org下载相应的代码包,我下载的是boost_1_52_0.tar.bz2
(2)进入自己的工作目录执行解压操作:
luoxiongwei@luoxiongwei:~$bzip2 -d boost_1_52_0.tar.bz2
luoxiongwei@luoxiongwei:~$tar -xvf boost_1_52_0.tar
luoxiongwei@luoxiongwei:~$cd boost_1_52_0
luoxiongwei@luoxiongwei:~/boost_1_52_0$ ./bootstrap.sh //生成安装工具bjam和b2
(3)这里利用b2工具进行安装,可以使用./b2 --help 查看命令选项
(4)准备安装boost库
luoxiongwei@luoxiongwei:~/boost_1_52_0$ sudo ./b2 install
安装完毕后的头文件默认是在/usr/local/include目录下,.a和.so在/usr/local/lib目录下。
然后将需要使用的库sudo cp至/usr/lib 。不然在执行代码时,ldd会提示找不到.so文件。
(5)测试
#include <boost/lexical_cast.hpp>
#include <iostream>
int main()
{
using boost::lexical_cast;
int a = lexical_cast<int>("123");
double b = lexical_cast<double>("123.12");
std::cout<<a<<std::endl;
std::cout<<b<<std::endl;
return 0;
}
g++ -o boostTest boostTest.cpp
三,安装Mongo
- [root@localhost soft]# tar -zxvf mongodb-linux-i686-2.0.2-rc2.tgz
- mongodb-linux-i686-2.0.2-rc2/
- mongodb-linux-i686-2.0.2-rc2/THIRD-PARTY-NOTICES
- mongodb-linux-i686-2.0.2-rc2/GNU-AGPL-3.0
- mongodb-linux-i686-2.0.2-rc2/README
- mongodb-linux-i686-2.0.2-rc2/bin/
- mongodb-linux-i686-2.0.2-rc2/bin/mongofiles
- mongodb-linux-i686-2.0.2-rc2/bin/mongostat
- mongodb-linux-i686-2.0.2-rc2/bin/bsondump
- mongodb-linux-i686-2.0.2-rc2/bin/mongos
- mongodb-linux-i686-2.0.2-rc2/bin/mongotop
- mongodb-linux-i686-2.0.2-rc2/bin/mongodump
- mongodb-linux-i686-2.0.2-rc2/bin/mongoimport
- mongodb-linux-i686-2.0.2-rc2/bin/mongosniff
- mongodb-linux-i686-2.0.2-rc2/bin/mongo
- mongodb-linux-i686-2.0.2-rc2/bin/mongod
- mongodb-linux-i686-2.0.2-rc2/bin/mongoexport
- mongodb-linux-i686-2.0.2-rc2/bin/mongorestore
- [root@localhost mongodb]# mkdir log
- [root@localhost mongodb]# mkdir data
- [root@localhost mongodb]# cd log
- [root@localhost log]# touch mongodb.log
- [root@localhost local]# cd mongodb/bin
- [root@localhost mongodb]# ./bin/mongod -port 10001 --dbpath data/ --logpath log/mongodb.log
- all output going to: log/mongodb.log
- [root@localhost /]# cd usr/local/mongodb
- [root@localhost mongodb]# ./bin/mongo localhost:10001
- MongoDB shell version: 2.0.2-rc2
- connecting to: localhost:10001/test
- >
- bye
- connecting to: localhost:10001/test
- > db.foo.save({a:1})
- > db.foo.find()
- { "_id" : ObjectId("4ee66eb440ef7803a9873d2d"), "a" : 1 }
- >
通过配置文件来配置Mongodb
- [root@localhost mongodb]# vi mongodb.conf
- port=10001
- dbpath=data/
- logpath=log/mongodb.log
- logappend=true
- [root@localhost mongodb]# ./bin/mongod -f mongodb.conf
- all output going to: log/mongodb.log
1/ 安装boost库
2/ 安装scons程序
方法一:
$ git clone git://github.com/mongodb/mongo.git
$ cd mongo
$ cat docs/building.md
$ scons .
经过一段时间的编译,即可生成mongodb的服务器端和客户端,还有c++客户端库。
方法二:
从官网上面下载mongo源码(http://www.mongodb.org/downloads),我下载的版本是
mongodb-src-r2.0.7.tar.gz
解压缩之后生成mongodb-src-r2.0.7目录,cd到这个目录
然后执行命令:
scons --prefix=/urs/local/mongo
四,安装openssl
(2)
tar -zxf openssl-0.9.8k.tar.gz //解压安装包
cd openssl-0.9.8k //进入已经解压的安装包
./config //配置安装。推荐使用默认配置或--prefix=/usr/local/openssl指定路径。
make && make install //编译及安装,若失败可使用make test命令查看原因。
openssl默认将被安装到/usr/local/ssl
五,安装Jsoncpp
(1)下载工具
-
比如下载的 jsoncpp-src-0.5.0.tar.gz
$ tar -zxvf jsoncpp-src-0.5.0 -C jsoncpp
说明:
-
安装JsonCpp需要下载JsonCpp和Scon还需要机器上有python
-
scons,功能和GNU make一样,又比make简单多了。scons是python工具,需要先安装好pythons。
(1)安装
-
安装 scons
$ sudo apt-get install scons
-
切换到 jsoncpp-src-0.5.0 目录
$ python /usr/bin/scons platform=linux-gcc
-
生成静态和动态库文件, 在 jsoncpp-src-0.5.0/libs/linux-gcc-4.7目录下
- libjson_linux-gcc-4.7_libmt.a
- libjson_linux-gcc-4.7_libmt.so
$ sudo mkdir /usr/local/lib
-
把两个库文件拷贝到/usr/local/lib目录下(若测试时发现无法找到so文件,则再拷贝到/usr/lib目录即可)
$ sudo cp libjson_linux-gcc-4.7_libmt.* /usr/local/lib
-
将静态库重命名为libjsoncpp.a libjsoncpp.so (mv 命令,为了在编译时可直接用-ljsoncpp,省去不少麻烦)
-
切换到 jsoncpp-src-0.5.0/include 目录
$ sudo cp -r * /usr/local/include/
(1)使用
-
包含头文件
#include <json/json.h>
-
编译, 加链接选项
-ljsoncpp