私はオープンソースのC++ライブラリを作成しており、そのバージョンを管理したいと考えています。たとえば、各リリースにラベルを付け、まだリリースされていないバージョンのラベルを付けます。私は、あらかじめコンパイルされたライブラリをダウンロードして、使用しているバージョンを知っていて、並行してライブラリのいくつかのバージョンを管理したいと思います。 このライブラリは静的ライブラリとしてのみコンパイルされます(動的ではありません)。 私はcmakeを使用していません(これはバージョンのラベル付けをサポートしています)。 これを行うにはどのような方法が推奨されますか? 現在のバージョンを含むHファイルを追加する必要がありますか?それには何が含まれますか?多分別の考えですか?私のC++ライブラリのバージョンを管理するための推奨される方法
0
A
答えて
3
個人的には、私が書いたすべてのライブラリに構成ヘッダーファイルを追加するのが好きです。 これにより、私の図書館のユーザーは、可能な構成を容易に理解し、必要に応じて調整することができます。バージョン管理について
、私は通常、そのファイルに3つのバージョン変数を追加:静的を使用して
- :
static const unsigned VERSION_MAJOR = x; static const unsigned VERSION_MINOR = y; static const unsigned VERSION_REVISION = z;
これは、ユーザーが簡単にバージョン番号を確認することができますコンパイル時のマクロ
- 実行時に動的に
:数値バージョンをテストすることをユーザーに要求してはならない追加/ライブラリ内/廃止を削除しない機能
ではなく、あなたがに#defineを追加し、および/または必要がありますオフまたはオプションは、このオプションがオンになっているかどうかを指定する方法で、例えば:
#define AWESOME_LIBRARY_SUPPORTS_CACHING -- OR/AND -- static bool isCachingSupported()
- あなたはあなたのライブラリーに含まれ、任意のコードがVERSION_MAJOR以来、何の命名の衝突がないことを確認するために、適切な名前空間を使用してラップする必要があります
非常に一般的な名前です。
関連する問題
- 1. バージョン管理ワークフローの推奨
- 2. マルチテナントユーザー管理の推奨方法
- 3. 翻訳を管理するための推奨XLIFFエディタ
- 4. php/eclipseによるバージョン管理の推奨?
- 5. セッション管理のためのC++ライブラリ?
- 6. コードネームワンでツールバーのサイズを変更するための推奨される方法
- 7. C#オーバーロードの戻り値の型 - 推奨される方法
- 8. 反応性バナナFRPライブラリを理解するための推奨読解/チュートリアル
- 9. 集約エンティティを作成するための推奨された方法
- 10. アプリケーションのリポジトリアセンブリを置き換えるための推奨される方法
- 11. AJAXアプリケーションを設計するための推奨される方法
- 12. SSISパッケージのためにazureジョブをスケジュールする推奨される方法
- 13. Androidでアニメーションを作成するための推奨される方法
- 14. ウェブサービスを保護するための推奨される方法は?
- 15. JBoss ASにWARをデプロイするための推奨される方法4.2.3
- 16. Node.jsで変数をエクスポートするための推奨される方法
- 17. プレゼンテーションクラスでRailsビューヘルパーを使用するための推奨される方法
- 18. APIを保護するための推奨される方法/認証エンジン
- 19. C#データベースアクセスのための推奨事項
- 20. ASP.NET Core 2の例外を処理するための推奨される方法はありますか?
- 21. サービスファブリックのアクターをバックアップするための推奨方法
- 22. H2 1.3.175から1.4.195に移行するための推奨される方法
- 23. ビューからセッションオブジェクトにアクセスするための推奨される方法
- 24. C++ GUIライブラリの推奨が必要
- 25. Cエクステンションのdistutilsベースのsetup.pyで作業するための推奨される方法は何ですか?
- 26. モジュラーCアプリケーションを作成するための推奨方法は何ですか?
- 27. MVVMCrossアプリケーションで例外を処理するための推奨される方法は何ですか?
- 28. Emberアドオン:入力データを処理するための推奨される方法は何ですか?
- 29. 私のアンドロイドアプリケーションの新しいユーザーを登録するための推奨される方法
- 30. Cライブラリの初期化/破壊ルーチンをラップするのに推奨される方法
https://help.github.com/articles/creating-releases/ –
ありがとう!しかし、この記事では、ライブラリ(github上)の外部でのバージョン管理について話しています。私はライブラリ内に埋め込むことができるものに興味があるので、ダウンロードした人がバージョンを問い合わせることができます – fx23
ほとんどのプロジェクトはバージョン番号をヘッダファイルの '#define'に書きます。 –