Как получить версию библиотеки Poco из программы на C ++? - PullRequest
0 голосов
/ 04 октября 2018

Есть ли в библиотеках C ++ Poco какие-либо макросы или константы в исходном коде, возвращающие текущую версию библиотеки?

1 Ответ

0 голосов
/ 04 октября 2018

Класс Poco::Environment имеет статическую функцию-член libraryVersion():

#include "Poco/Environment.h"
#include "Poco/Format.h"

// ... 

std::string version = Poco::format("%d.%d.%d",
    static_cast<int>(Poco::Environment::libraryVersion() >> 24),
    static_cast<int>((Poco::Environment::libraryVersion() >> 16) & 0xFF),
    static_cast<int>((Poco::Environment::libraryVersion() >> 8) & 0xFF));

Значение берется из макроса POCO_VERSION в Poco/Version.h:

// Version format is 0xAABBCCDD, where
//    - AA is the major version number,
//    - BB is the minor version number,
//    - CC is the patch version number, and
//    - DD is the pre-release designation/number.
//      The pre-release designation hex digits have a special meaning:
//      00: final/stable releases
//      Dx: development releases
//      Ax: alpha releases
//      Bx: beta releases
//
#define POCO_VERSION 0x01090000
...