Comments (3)
It is also possible to get inspired by libcurl they use define macros for major , minor and patch versions as well as hexadecimal (24-bit , 6 digit) version identifier that can be used to compare older to newer version. I used exactly this when interacting with libcurl to check if building against a curl library version that is lower than a certain desired version.
for example , adapting from https://github.com/curl/curl/blob/master/include/curl/curlver.h . you could just go for hexadecimal 24-bit since its always comparable between recent and older versions and will never fall in the problem above for example :
#define CRYPTOPP_VERSION_HEX 0x0810AF
#define CRYPTOPP_VERSION_MAJOR 8
#define CRYPTOPP_VERSION_MINOR 10
#define CRYPTOPP_VERSION_PATCH 175
with a fictional 175 version patch number used only for demonstration purposes
from cryptopp.
I think we need to use two digits for each component:
#define CRYPTOPP_VERSION 081000
from cryptopp.
Not sure about inspiration, but this is versioning in Windows: https://learn.microsoft.com/en-us/windows/win32/api/shlwapi/nf-shlwapi-makedllverull
from cryptopp.
Related Issues (20)
- Crypto++ needs to support a fixed target HOT 2
- Poly1305 null pointer passed as argument 1 HOT 1
- Django cipher texts not matching Crypto++ cipher texts.
- destructor delete problem with own dialog program with MFC (Unicode/Use MFC in a Shared DLL) VS2015
- Memory leak in signature verification HOT 3
- repo too large, git clone often failed due to rpm connection timeout
- Compilation fails using MSYS2 CLANGARM64 toolchain
- Leak the Secret Key of Elgamal Encryption in Cryptopp via Rowhammer HOT 1
- ld.lld: error: duplicate symbol: CryptoPP::CallNewHandler()
- Add support for Elliptic Curves of Genus n (Hyperelliptic Curves)
- Infinite execution behavior in main branch
- Integer class errors
- ECP::ScalarMultiply() may seemingly miscompute for small scalars when using Ubuntu 20.04.6 LTS on 64-bit Intel CPUs HOT 6
- [x25519] donna function `curve25519_mult` generated different shared key HOT 1
- PGP signing key has expired
- Compilation issue with clang on X86
- Assertion failed: integer.cpp(3049):Integer HOT 1
- Warning in esign.cpp with 8.9.0 and gcc-14.1
- How can I compile for windows with mingw? HOT 1
- Warning when compiling universal binary (x86_64 + arm64) on macOS
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cryptopp.