バージョンリソースを付けた

DLLやアプリケーションのプロパティで、ものによっては「バージョン情報」というタブが出て来る。
これは、リソースとしてバージョン情報を持っているわけです。

現在の開発は、IDEは一切使わず、エディタで書いてcl.exeでビルド、という硬派スタイル。
従って、これも手動で付けなければならない。しかし、簡単なものです。

これで本当に良いのかは知らないが、こんな感じで、「ほげほげ.rc」という名前にする。


#include <lng_ja_def.h>

#define VS_VERSION_INFO 1

VS_VERSION_INFO VERSIONINFO
FILEVERSION RC_VERSION_NUM
PRODUCTVERSION RC_VERSION_NUM
FILEFLAGSMASK 0x3fL
FILEFLAGS 0x0L
FILEOS 4
FILETYPE 2
FILESUBTYPE 0
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "041104b0"
BEGIN
VALUE "CompanyName", "未来情報産業株式会社\0"
VALUE "FileDescription", "lng_ja.dll\0"
VALUE "FileVersion", RC_VERSION_STR
VALUE "InternalName", "lng_ja.dll\0"
VALUE "LegalCopyright", "Copyright Mirai Corporation\0"
VALUE "OriginalFilename", "lng_ja.dll\0"
VALUE "ProductName", "gTefコンポーネント\0"
VALUE "ProductVersion", RC_VERSION_STR
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x411, 1200
END
END


先頭を見て分かるように、ヘッダファイル内lng_ja_def.hで、実際のバージョン番号を定義します。
他のC++な定義があっても、何の問題もないようです。


const DWORD LIBVERSION = 0x00000100ul; // version, AA.BB.CC.DD (BCD)

#define RC_VERSION_STR "0.0.1.0\0"
#define RC_VERSION_NUM 0,0,1,0


LIBVERSION は、バージョン取得API用の値で、後の二つがリソース用。変更するときは、間違えないよう、全部を合わせる。

そして、この.rcファイルは、リソースコンパイラでコンパイルする。

Makefileに、次を追加

RC = "C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin\rc.exe"

lng_ja.res: lng_ja.rc lng_ja_def.h
$(RC) lng_ja.rc

allから、lng_ja.resを呼ぶようにするのを忘れずに。ファイル名は、適時変更しましょう。

コンパイルが終わると、ほげほげ.res というファイルが出来るので、これを他の.objと一緒にリンクしてあげれば終わりです。

2008/12/15(月)20:50 |Comments(0) |Trackback(0)

C++ | プログラミング | コンピュータ | [編集]

▲ページトップ

コメント

コメントの投稿

朝鮮語(ko-kr)対応 ホーム 製品紹介ページを作った
トラックバック

この記事にトラックバックする(FC2ブログユーザー)
▲ページトップ

カレンダー

07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

プロフィール

miraicorp

Author:miraicorp
未来情報産業(株) 社長

主として「ICカードこれひとつ」や「文字、文字コード」処理、時々C++などについて記述しています。

twitterツイッター

管理用

検索フォーム

お知らせ

コメント等お気軽にどうぞ。

気に入ったら拍手して頂けると、今後の記事を書く際の参考や励みになります。

■お仕事を募集しております
ソフトウェア製造の仕事や、原稿執筆の仕事などを随時受け付けております。
お気軽にご相談下さい

■初めての方へ
こまごまと更新しているため、他にも関連する記事があるかもしれません。
「月別アーカイブ」「検索フォーム」「カテゴリ」などをお試し下さい。
トップページはこちら

最新記事

最新コメント

最新トラックバック

月別アーカイブ

カテゴリ

広告枠

メール

メールはこちら

リンク

このブログをリンクに追加する

RSSリンクの表示

QRコード

QR