私は2つのVisual C++プロジェクトを持っていますが、どちらもフィールド製品バージョンが定義されているRCファイルを持っています。両方のプロジェクトをグローバルな場所から取得するにはどうすればよいですか?グローバルRCファイルか、そこにはどのような解決策がありますか?2つのVisual C++プロジェクト間で同じ製品バージョンを共有するにはどうすればよいですか?
答えて
私にとってうまくいくのは、2つの「ソリューションアイテム」を追加することです。 1つは.hファイルで、#defines
の一部のバージョン文字列です。もう1つは、.hファイルへのインクルードを持つ.rcファイルで、その定義を使用するBLOCK "StringFileInfo"
です。
各プロジェクトの個別リソースファイルには、ソリューションの.rcの内容を取り込むためにTEXTINCLUDE
を使用します。 。
に取ることがたくさんある私は、私が何を意味するかをお見せしましょう...
1) 2つのソリューション項目はそれほどとして追加されます。
2 )version.h
には、VersionInfo.rc2で使用されるいくつかの#defineがあります。
#define SOLUTIONFILEVERSION 1,00,0000,00000
#define SOLUTIONFILEVERSIONSTRING "1,00,0000,00000"
#define COPYRIGHT "Copyright 2012"
#define PRODUCTNAME "Your product name"
#define COMPANYNAME "Your company name"
3) VersionInfo.rc2は、あなたはそれが次のステップに含まれている場合、このファイルの最後に新しい行がリソースコンパイラを幸せにしたいと思うでしょう定義
#include "version.h"
VS_VERSION_INFO VERSIONINFO
FILEVERSION SOLUTIONFILEVERSION
PRODUCTVERSION SOLUTIONFILEVERSION
FILEFLAGSMASK 0x3fL
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", COMPANYNAME
VALUE "FileVersion", SOLUTIONFILEVERSIONSTRING
VALUE "LegalCopyright", COPYRIGHT
VALUE "ProductName", PRODUCTNAME
VALUE "ProductVersion", SOLUTIONFILEVERSIONSTRING
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
を使用しています。
設定したい別のフィールドは「FileDescription」ですが、これは通常プロジェクトごとに行われます。これには、プロジェクト間で共有したいことが含まれていることを覚えておいてください。
4)各プロセスにVersionInfo.rc2を含めます。これは、リソースビューの各プロジェクトの.rcを右クリックし、リソースを選択すると、が含まれます。
コンパイル時ディレクティブに追加:#include "../VersionInfo.rc2"
は、このプロジェクトの.rcファイルに以下を追加することで、手動で行うことができるが、Visual Studioがすべてを管理できるように、おそらくより良いですそれはあなたのためにすることができます。
3 TEXTINCLUDE
BEGIN
"#include ""../VersionInfo.rc2""\r\n"
"\0"
END
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#include "../VersionInfo.rc2"
/////////////////////////////////////////////////////////////////////////////
雌犬...それは一口でした。しかし、今では、製品のバージョンを1つの場所から変更できるはずです。
ありがとうございます。私はあなたの提案を試みたが、うまくいかない。私はversion.hファイルを作成し、それを定義した後、VersionInfo.rc2を作成し、それをプロジェクトのメインRCファイルに含めました。また、プロジェクトにversion.hとVersionInfo.rc2の両方を追加しました。あなたが言及していないことの1つは、メインのRCファイルからバージョンのものを削除することです。私もそれをしました。プロジェクトをビルドするときに警告/エラーが表示され、dllにはすべてのフィールドが空になっているので、バージョン情報が表示されないようです。私は何が間違っているのか正確には分かりません。私のIDEはVisual Studio 2009 – dbrasco
です。プロジェクトごとにFileDescriptionを設定しています。それを行うための任意の提案?この共有ファイルに加えて、プロジェクト固有の.rcファイルに別の 'BLOCK" StringFileInfo "'が存在することはありますか? – CoderDennis
私は先に進み、2番目のバージョン情報ブロックを追加しようとしました。プロジェクト固有の値を含める方法を探しています。 – CoderDennis
私はそれを解決しました。
私は今、すべてが素晴らしい作品、プロジェクトのrecourceファイルの一番下
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//
#include "VersionInfo.rc2"
/////////////////////////////////////////////////////////////////////////////
でも同様に以下を追加する必要がありました。ありがとう
あなたはそれが働いてうれしいです。私は将来的に誰かのためにそれをより簡単にするために私の答えの最後のステップを更新しました。 –
- 1. 2台のPC間で同じVisual Studio 2010プロジェクトの開発をどのように共有できますか?
- 2. Visual C#プロジェクト間でバージョンを同期するにはどうすればよいですか?
- 3. C#で2つのプロセス間で共有キューを使用するにはどうすればよいですか?
- 4. 複数のAngular 2プロジェクト間でAngular 2コンポーネントを共有するにはどうすればよいですか?
- 5. Visual Studioでプロジェクト間でリソースファイルを共有するにはどうすればよいですか?
- 6. 2つのクラスを同じ変数定義を共有するにはどうすればいいですか
- 7. 2つのプロジェクトを同じソリューション内で「同期」するにはどうすればよいですか?
- 8. win32、C++の2つのプロセス間で同じstdoutを共有
- 9. 2つのViewController間でマップキットの変数を共有するにはどうすればよいですか?
- 10. 2つのクラス間でメソッドを共有するにはどうすればよいですか?
- 11. 同じソリューションでC++/CLiプロジェクトからC#プロジェクトを参照するにはどうすればいいですか?
- 12. 2つのmysqlバージョンは同じポート番号を共有できますか?
- 13. 2つのアプリの間でmongooseモデルを共有するにはどうすればいいですか?
- 14. カーネルCプログラムとユーザーレベルCプログラムの間でデータを共有するにはどうすればよいですか?
- 15. 同じソリューション内のプロジェクト間でクラスはどのように共有されますか?
- 16. ユーザー、製品、およびサブ製品のデータベーススキーマを設計するにはどうすればよいですか?
- 17. 2つのバージョンのlibcを同じアプリケーションにリンクするにはどうすればいいですか?
- 18. Java Webアプリケーションで同じ静的データオブジェクトを共有するにはどうすればよいですか?
- 19. 2つのdjangoプロジェクトで同じ認証モデルを共有できますか?
- 20. プロパティがウィジェット間で共有されないようにするにはどうすればよいですか?
- 21. 同じメンバーを共有する2つのC++クラスのメモリレイアウト
- 22. 2つのdivが同じスクロールバーを共有するようにしますか?
- 23. ASP.NET 2で同じファイルを共有するプロジェクト
- 24. 共有Visual C++プロジェクト間の変数
- 25. 2つの異なるアンドロイドアプリでSharedPreferencesファイルを共有するにはどうすればよいですか?
- 26. ユーザー間でEclipseプロジェクトのプリファレンスを共有するにはどうすればいいですか?
- 27. ASP.NETデプロイメント - 複数のWebAppプロジェクト間でBINを共有するにはどうすればいいですか?
- 28. 同じプロジェクトの別のVC++プロジェクトを参照するにはどうすればよいですか?
- 29. VS2010 .Net Frameworkのバージョン間でプロジェクトを共有する
- 30. ブロック内のスレッド間で共通の値を共有するにはどうすればよいですか?
グローバルな 'バージョンを作成します。h 'ファイルと両方のrcファイルからそれを含める –
私はあなたがバージョン情報を手動で変更できると思います。 – Healer
@aleguna version.hファイルに必要なものを例として挙げることができますか? – dbrasco