POCO安装并测试

POCO是C++实现的包含网络的,可以集成到应用的开源库。官网地址为:http://pocoproject.org

安装

我下载的是“poco-1.7.3-all.tar.gz”,解压后,先配置,我已经安装openssl,不安装Data模块

./configure --omit=Data/ODBC,Data/MySQL
make
make install

动态链接库默认安装在’/usr/local/lib/’下
头文件默认安装在’/usr/local/include’下

测试

使用官网例子,测试一下(test.cpp):

#include <Poco/BasicEvent.h>
#include <Poco/Delegate.h>
#include <iostream>

using Poco::BasicEvent;
using Poco::Delegate;

class Source
{
public:
    BasicEvent<int> theEvent;

    void fireEvent(int n)
    {
        theEvent(this, n);
    }
};

class Target
{
public:
    void onEvent(const void* pSender, int& arg)
    {
        std::cout << "onEvent: " << arg << std::endl;
    }
};

int main(int argc, char** argv)
{
    Source source;
    Target target;

    source.theEvent += Delegate<Target, int>(
        &target, &Target::onEvent);

    source.fireEvent(42);

    source.theEvent -= Delegate<Target, int>(
        &target, &Target::onEvent);

    return 0;
}

编写Makefile

SRC = ./test.cpp
OBJ = $(SRC:%.cpp=%.o)
EXEC = test

CC = g++
FLAGS = -O2
#-L表示在链接时要链接库的路径,但是在生成的ELF文件中,并不包含库的路径,需要LD_LIBRARY_PATH中有这个库的路径
#-Wl,-rpath不仅仅表示在链接时要查找这个路径下的库,还要把这个路径写到ELF文件中,且查找顺序优先于$LD_LIBRARY_PATH
LIB = -L/usr/local/lib/
LIB_ELF = -Wl,-rpath,/usr/local/lib/
LIB_POCO = -lPocoUtil -lPocoXML -lPocoNet -lPocoFoundation
INCLUDE = -I/usr/local/include

test:$(OBJ)
    $(CC) $^ $(LIB) $(LIB_POCO) $(FLAGS) -o $(EXEC)
clean:
    rm -f test.o

%.o:%.cpp
    $(CC) -c $(INCLUDE) $(FLAGS) $< -o $@
.PHONY:test
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值