如何编译POCO

Poco C++库是:

  • 一系列C++类库,类似Java类库,.Net框架,Apple的Cocoa;

  • 侧重于互联网时代的网络应用程序

  • 使用高效的,现代的标准ANSI/ISO C++,并基于STL

  • 高可移值性,并可在多个平台下可用

  • 开源,并使用Boost Software License发布

  • 不管是否商用,都完全免费

Poco库概览


特性:

  • DynamicAny与Any类

  • Cache框架

  • 基于OpenSSL的密码系统

  • 日期,时间类库

  • 事件和通知框架

  • FTP客户端

  • 跨平台的文件系统类库

  • HTML表单类库

  • HTTP客户端和服务端(支持SSL),C++ 服务器页面编译器

  • 日志框架

  • 多线程框架(线程池,活动对象,工作队列等)

  • POP3客户端类库

  • 跨平台,一次编写,多平台编译和运行

  • 进程管理和进程间通信类库

  • 反射框架

  • 基于PCRE的正则表达式

  • SMTP客户端类库

  • 数据库访问类库(SQLite,MySQL, ODBC)

  • 支持SSL/TLS,基于OpenSSL

  • 动态类库加载

  • 先进的内存和指针管理(Buffer, Pool)

  • Socket类库

  • 网络数据流类库,支持Base64,HexBinary编解码,压缩等等

  • 字符串格式化和其它字符串工具类库

  • TCP服务器框架(多线程)

  • 文本编码和转换

  • Tuples

  • URI支持

  • 支持UTF8和Unicode编码

  • UUID生成器

  • XML生成和解析器

  • Zip文件操作类库

Poco的使命


  • Poco是一个强大的类库,并易于构建自己的应用程序

  • Poco帮助你创建跨平台的应用程序(一次编写,多平台编译和运行)

  • 模块化和可扩展,可应用于嵌入式到企业级程序

  • 提供全面,易懂的编程接口

  • 使用C++语言,快速且高效

  • Poco崇尚简易

  • 在设计,代码风格和文档上保持一致

  • Poco强调代码质量,包括可读性,综合性,一致性,编码风格和可测试性

  • Poco使得C++编程更加容易

指导方针


  • 高度关注代码质量,编码风格,一致性,可读性

  • 高度关注测试

  • 注重实用性

  • 基于现有的,可靠的组件开发

版本历史

  • Summer 2004: Günter Obiltschnig started development

  • February 2005: First release on SourceForge

  • (Release 0.91 under Sleepycat license)

  • May 2005: First contributions by Aleksandar Fabijanic

  • January 2006: Release 1.0

  • March 2006: Release 1.1

  • July 2006: Moved to Boost license, POCO Community Website

  • August 2006: Release 1.2

  • May 2007: Release 1.3

  • July 2010: Stable Release 1.3.7,

  • about 20 contributors, used in 100s of projects

支持平台

  • Microsoft Windows

  • Linux

  • Mac OS X

  • HP-UX, Solaris, AIX*

  • Embedded Linux (uClibc, glibc)

  • iOS

  • Windows Embedded CE

  • QNX

Poco应用场景


  • 创建自动化的中间件和设备

  • 工业自动化和工业设备

  • 流量控制系统

  • 健康系统

  • 测量,数据收集和测试系统

  • 消费电子产品和家庭自动化产品

  • 测量

  • 航空交通管理系统

  • VoIP

  • 票务和入口控制系统

  • 包装应用程序

Poco的优势


  • 全面的,完整的C++框架,可减少开发工作,快速让产品走向市场

  • 易学易使用,以及相当多的示例代码和良好的文档

  • 原生的C++代码,性能优秀,低内存占用

  • 平台无关,一处编写,跨平台编译和运行

    • 大多数情况下,可以开发机上完成开发和调试工作

    • 可以非常容易的迁移到新平台

编译


下面简单介绍一下方法,以 vs2010 为例。

第一种方法:

(1) Poco 根目录下有build_vs100.cmd和buildwin.cmd这两个批处理文件,
我们得修改一下它们。
    把build_vs100.cmd
修改为以下内容:
    @echo off
    if
defined VS100COMNTOOLS (
       call
"C:\Program Files (x86)\Microsoft Visual
Studio
10.0\VC\bin\amd64\vsvars64.bat")
     buildwin 100 build all both x64
samples

红色的部分是vsvars64.bat的路径,具体要看本机的安装位置。这里因为是要编译X64,所以要修改环境。

蓝色部分是执行编译时候的参数(注意X64的X要小写)。参数的具体说明为:

buildwin VS_VERSION [ACTION] [LINKMODE] [CONFIGURATION] [PLATFORM]
[SAMPLES] [TESTS] [TOOL]
    VS_VERSION:
   71|80|90|100|110  
    ACTION:
       build|rebuild|clean
    LINKMODE:
     static_mt|static_md|shared|all
    CONFIGURATION:
release|debug|both
    PLATFORM:
     Win32|x64|WinCE
    SAMPLES:
      samples|nosamples
    TESTS:
        tests|notests
    TOOL:
         devenv|vcexpress|msbuild

具体的参数选择根据需求。

如果不需要 NetSSL_OpenSSL 和 MySQL ,此时保存后就双击它就行了。
它会自动编译好各种库。
   如果要NetSSL_OpenSSL
这个库则打开buildwin.cmd文件:
   设置 openssl 的路径,如:

set OPENSSL_DIR=c:\OpenSSL-Win64
    set
OPENSSL_INCLUDE=%OPENSSL_DIR%\include
    set
OPENSSL_LIB=%OPENSSL_DIR%\lib;%OPENSSL_DIR%\lib\VC
    set
INCLUDE=%INCLUDE%;%OPENSSL_INCLUDE%
    set
LIB=%LIB%;%OPENSSL_LIB%


   注意,如果要 Poco 中的 MySQL 库
还得安装.
Mysql
   编辑好后,双击  build_vs100.cmd执行编译。完成后会在Poco根目录下的lib64中看到编译好的库。在bin64中有编译好的dll。

第二种方法(适合熟悉命令行的用户)

按需求修改完buildwin.cmd文件后,使用vs2010的Tools中“Visual Studio x64 Win64
命令提示(2010)”命令,进入命令行状态。转到Poco所在的根目录,直接输入命令:

buildwin 100 build all both x64
samples

 

最后需要注意地方:

上述方法完成编译后,关于Data的MySQL、ODBC、SQLite三个库没有生成(原因不详),需要单独编译,在此以MySQL为例记录一下编译过程。在\Data\MySQL文件夹下,找到MySQL_vs100.sln文件,打开。

打开的工程是win32的,需要改为X64。在C++包含目录中添加本项目的include文件夹,例如:“C:\poco-1.5.1-all\Data\MySQL\include;”,还要添加安装的MySQL的include文件夹,例如“C:\Program
Files\MySQL\MySQL Server 5.6\include”,在库目录中添加所需库的路径,例如“C:\Program
Files\MySQL\MySQL Server 5.6\lib”。

注意:编译MySQL的Poco库,必须先安装MySQL。

设置好环境之后,就可以选择相应的配置(debug or release)进行编译。

编译完成后,生成的库在Poco根目录下的lib文件夹,如果是编译的动态库,则动态库在Poco根目录下的bin文件夹。

如何编译POCO,布布扣,bubuko.com

时间: 2024-08-03 10:04:10

如何编译POCO的相关文章

在Solaris 10 x86下用gcc编译Poco 1.4.6

一. 系统环境 操作系统原始环境如下: $ uname -a SunOS sol10u6 5.10 Generic_137138-09 i86pc i386 i86pc $ /usr/sfw/bin/gcc -v Reading specs from /usr/sfw/lib/gcc/i386-pc-solaris2.10/3.4.3/specs Configured with: /builds/sfw10-gate/usr/src/cmd/gcc/gcc-3.4.3/configure --p

如何编译Poco for iOS (Xcode 5)

网上找了一个编译脚本<Poco C++ ios 和 android平台编译脚本>,执行时出错: ls: /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-*: No such file or directory 进入poco看了一下,poco提供的配置(poco-1.4.6p4/build/config)中iOS的有3种: iPhone iPhone-clang iPhone-clang-libc++ 再进入网上

iOS——为Xcode编译POCO C++静态库

一.POCO C++ library简介 POCO C++ library是一个C++编写的跨平台库,主要实现网络连接.数据库管理以及服务器,适用于跨平台.嵌入式. 二.为Xcode编译POCO C++ 静态库 1.确定需要编译的版本 要想使POCO C++在iOS的各个平台上运行,那么需要针对各个平台的不同架构进行编译,因此我们需要了解iOS各个平台的架构,主要分为iPhone模拟器.iPhone真机以及运行Xcode电脑本身的架构. (1)iPhone模拟器 目前iPhone模拟器架构分为两

从零开始编译Poco C++和VS2015环境配置

Poco C++是一个C++的开源框架,详细介绍可以问百度介绍更详细,这里我就记录下我从零编译poco-1.9.0和配置 VS2015的环境,以备不时之需. 步骤:一.安装cmake: 二.编译poco-1.9.0: 三.将编译后的poco-1.9.0配置到VS2015的项目中: 四.示例简单示例. 安装cmake我的电脑环境: win7 64位: cmake-3.12.1-win64-x64(官网下载:点击我下载cmake). 安装cmake按常规安装即可,但是记得勾选: 这个主要是为了防止电

Poco库的学习

一.下载和编译Poco库 参考:www.jianshu.com/p/94c27101eee3blog.csdn.net/walk_and_think/article/details/82432863 下载地址:https://pocoproject.org/releases/poco-1.9.0/ 下载poco-1.9.0-all.zip,其中不带all的是基础版本,只包含基本的poco类库,带all的是全功能版本,包含sqlite,opensll等等. 解压缩zip包后,得到文件. 编译 --

linux平台编译安装Poco C++

1.到官网下载poco-1.4.6p4-all.tar.gz,地址为http://pocoproject.org/download/index.html 2.同时下载说明文档 3.根据说明文档执行安装 3.1 make --version,查看make编译器版本 3.2 tar -xvf poco-X.Y.tar 解压文件 3.3 cd poco-X.Y 进入解压目录 3.4 ./configure 执行配置,生成Makefile,需要安装mysql openssl 3.5 make -s 执行

visual studio 编译使用Poco

1. 下载源码包.在POCO的官方网站下载最新的POCO源码包.http://pocoproject.org/download/index.html2.解压源码包.下载的文件名是“poco-1.6.0.zip”,将其解压在F:\POCO目录下.3.编译库文件.开始菜单–Microsoft Visual Studio 2012–Visual Studio Tools—Open Visual Studio 2012 Command Prompt 打开命令行窗口.cd命令进入poco根目录,F:\PO

POCO库——Foundation组件之核心Core

核心Core: Version.h:版本控制信息,宏POCO_VERSION,值格式采用0xAABBCCDD,分别代表主版本.次版本.补丁版本.预发布版本: Poco.h:简单地包含了头文件Foundation.h: Foundation.h:使用其他任何Foundation模块前需要包含的头文件,主要定义库导出宏POCO_DLL.Foundation_API以及自动连接相应配置正确的库引用文件lib:包含库配置文件Config.h: 平台相关的Platform.h以及各个平台相应的文件Plat

SOCI、LiteSQL、POCO数据库访问类库对比

最近在做视频的开发,其中视频的设备接入管理服务器.流媒体管理服务器.中心服务器都涉及到了数据库的操作,同时需要兼容大多数版本的数据库,包括mysql.sqlite.oracle.公司原来使用的是ado来进行数据库的开发的, 但是考虑到目前需要兼容linux,目前使用Poco框架封装的数据库模块进行开发. 根据项目情况我对soci.litesql.poco这三个框架进行了简单的学习来确定选择那个框架. 1.soci soci是c++数据库访问类库,目前支持MySQL.Oracle.PostgreS