ウィンドウの場合、GetFileVersionInfo
とVerQueryValue
に精通しています。私はプラットフォームに依存しないソリューションを探しています。私はブーストを使用していますので、どちらのプラットフォームでも使用できるようにしてください。 私は窓に焦点を当てた同様のquestionを読んだ。アプリケーション内からウィンドウとLinuxの両方のアプリケーションバージョンを見つける方法
答えて
実行可能ファイルのバージョンを取得しようとしているので、#define
を追加するだけではどうですか?たとえば、次のように
version.h
// include guards etc.
#define MY_PROGRAM_VERSION "1.2.3"
これを試してみてください、あなたのCMakeLists.txt
ではなく、ハードコーディングからバージョンを引くには:
version.h.template
// include guards etc.
#define MY_PROGRAM_VERSION "${PROJECT_VERSION}"
CMakeLists.txt
cmake_minimum_required(VERSION 3.0) # Use higher if you need, lower won't work.
project(test VERSION 1.2.3) # The one and only place where you define your version!
configure_file(version.h.template version.h)
私はあなたのバージョンを設定するには、すでにそのproject(...)
ラインのようなものを持っていると仮定します。とりわけ、PROJECT_VERSION
という名前のCMake変数を設定します。
configure_file
コールはテンプレートを取り、CMakeが知っている変数を埋め込み、version.h
に出力します。これは通常#include
です。バージョンまたはテンプレートのいずれかが変更されると、CMakeはファイルを再生成します。
したがって、バージョン番号はプロジェクトのCMAKEに設定されています。実行時にそこからどのように抽出できますか? –
優秀な質問、私は編集します... – Thomas
- 1. 親ディレクトリlinuxからサブディレクトリ内のファイルを見つけてコピーする方法
- 2. ウィンドウ内の絶対NSViewフレーム位置を見つける方法
- 3. GUIDを知らないとアプリケーションを見つける方法
- 4. ウィンドウとLinuxの両方のオープンソースのオーディオストリーミングサーバーですか?
- 5. PHPからPDF内の単語を見つける方法
- 6. C++で未知のウィンドウのハンドルを見つける方法は?
- 7. Xを含むウィンドウのPIDを見つける方法
- 8. 2つのコンポーネントpickerViewで両方の変数を見つける
- 9. アプリケーション内のオブジェクトを見つける方法はありますか?
- 10. linuxの親プロセスIDを見つける方法
- 11. Linuxカーネルでsk_buffのオーナーソケットを見つける方法は?
- 12. Postgres Linuxパッケージのドキュメントを見つける方法は?
- 13. Linuxで異なるメモリセグメントの開始とそのサイズを見つける方法
- 14. AForge内の円内の円を見つける方法
- 15. いくつかのアプリケーションのために内部ストレージ内のすべてのファイルを見つける方法は?
- 16. グループ内の最後から2番目のレコードを見つける方法最後に見つけ出す
- 17. linuxに文字列を含む行を見つける方法
- 18. マルチアレイの内部で見つかった値を見つける方法
- 19. 道路上の車両の方向を見つける
- 20. その属性値からリスト内のデータフレームを見つける方法は?
- 21. ASP内の文字列から特定の値を見つける方法
- 22. LinuxマシンでMySQLバックアップスクリプト/コマンドを見つける方法
- 23. 新しいLinuxカーネルでスタックメモリセグメントを見つける方法
- 24. .pacファイルからプロキシサーバーとパスワードを見つける方法
- 25. アプリケーションがクラッシュする - クラッシュの原因を見つける方法
- 26. mongoの配列から何かを見つける方法
- 27. 糸のアプリケーションを殺した人を見つける方法
- 28. Javaでそのメソッド内からメソッド名を見つける方法は?
- 29. 別のアクションからapiのアクションパスを見つける方法
- 30. 2からインスタントタイムスタンプの間の時間を見つける方法
実行中の実行可能ファイルの_own_バージョン、または他の実行可能ファイルのバージョンを取得しますか?独自のバージョンが必要な場合は、そのために '#define'を追加することができます。 – Thomas
@Thomasはい実行可能な実行可能ファイルのバージョンが必要です。あなたは#defineに入るものを強調できますか? –
間違った質問をしています。 **あなたは**使用するバージョン情報を決定し、コンパイル時にそれを設定します。この情報を忘れる理由はなく、実行時に再びその情報を回復しようとします。仮想の検索関数を呼び出したときはいつでも、コンパイル時の定数を使用してください。 – IInspectable