如何从 C++ 程序中检索 Poco 库版本?

How to retrieve Poco libraries version from inside a C++ program?

C++ Poco 库在返回库当前版本的源代码中是否有任何宏或常量?

Poco::Environment class 有一个静态成员函数 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.h中的POCO_VERSION宏:

// 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