Repository navigation
Expand file tree
/
Copy pathreadme-j.txt
More file actions
133 lines (96 loc) · 4 KB
/
Copy pathreadme-j.txt
File metadata and controls
133 lines (96 loc) · 4 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
======================================================================
IP Messenger for Win 全ソース 取り扱い説明書 2011/06/27
H.Shirouzu(白水啓章)
http://ipmsg.org
======================================================================
目次
1. 概要
2. 使用上の注意
3. サポートについて
4. コンパイル方法(VC6 版)
5. ディレクトリ構成
6. 自己展開インストーラ形式について
■ 1. 概要
・IP Messenger for Win の全ソースコードです。
・MFC/OWL を使用せず、オリジナルの簡易クラスを使っています。
簡易クラス部分は、tlib.h と t*.cpp になります。
小さなツール用に、流用できるかもしれません(^^;
・VC++6 でコンパイルしています。(VS2005以降 でもビルド可能)
・定義ない系のエラーがでる処理系[VC5等?]について。
ipmsg.h 内の #ifdef により、その定義(を含むブロック)が
無効化されているはずなので、未定義エラーの出る定義だけを
そのブロックから外に出すことで、コンパイル可能になります。
■ 2. 使用上の注意
・「IP Messenger for Win」は実行ファイル・ソースコード共に
「永久に」フリーソフトウェアです。
・アーカイブの転載・再配布は自由です。
・ライセンスは以下の通りです。
/* ==============================================================
Copyright (c) 1996-2011 SHIROUZU Hiroaki All rights reserved.
ソースとバイナリ形式の再配布および使用は、「変更の有無、商用/
非商用にかかわらず」、以下の条件を満たす場合に許可されます:
1. ソースコードの再配布は、上記の著作権表示、この条件のリスト、
そして下記の否認声明文を保持しなければなりません。
2. バイナリ形式の再配布は、上記の著作権表示、この条件のリスト、
そして下記の否認声明文を、配布物と共に提供される、文書およ
び/または他の資料として複製しなければなりません。
3. 著作者名も、またいかなる共同貢献者名も、明確に優先する文書
化された許可無しに、このソフトウエアから派生する製品の保証
や販売促進に使われてはなりません。
「このソフトウエアは、作者により「あるがままの状態」で提供され、
あらゆる明示的または暗黙の保証を否認し、いかなる損害に対しても
責任を負いません。」
=============================================================== */
■ 3. サポートについて
・サポートは下記のURLに記載している ipmsg-ML(お気軽にご参加ください)
で行っています。また、次期バージョンへ向けての提案なども歓迎です。
(最新版は常にここにあります)。互助的な BBS もあります。
http://ipmsg.org/
・潜在バグの指摘や、よりよいソースコードへのアドバイスを歓迎します。
■ 4. コンパイル方法(VC++6.0J版)
・ipmsg.dsw を VC++6.0 で実行します。
VS2005以降でもビルド可能です。
・IPMsgv3.0以降、埋め込み画像(PNG)用に、zlib/lipng を使っています。
http://www.libpng.org/pub/png/libpng.html
http://zlib.net/
■ 5. ディレクトリ構成
IPMsg----+-IPMsg.dsw ... Project file for VC6
| IPMsg.sln ... Project file for VS2005以降
|
+-Src------+-ipmsg.cpp
| | :
| +-install-+- install.cpp
| | :
|
+-External-+-Zlib---+-zlib.dsw
| | :
| +-Libpng-+-libpng.dsw
| :
+-Release--+-
|
+-Obj------+-Release-+-
|
+-Debug---+-
■ 6. 自己展開インストーラ形式について
・v3.10より、自己展開形式インストーラをサポートしています。
これはソースよりビルドされた install.exe の末尾に、以下のような
フォーマットで、ipmsg.exe setup.exe ipmsg.chm を付加したものです。
\n===(70個)===\n
ファイルサイズ ファイル名\n
ZLIB圧縮ファイル
・具体的には、以下のような python script で作成しています。
----------------------------------------------------
import sys, zlib
def add_file(f, fname):
data = zlib.compress(open(fname, "rb").read())
f.write("\n%s\n" % ("=" * 70))
f.write("%d %s\n" % (len(data), fname))
f.write(data)
def gen_inst(installer_name, installer_base, files):
f = open(installer_name, "wb")
f.write(open(installer_base, "rb").read())
for i in files:
add_file(f, i)
f.close()
gen_inst("ipmsgXXX_installer.exe", "install.exe", ["ipmsg.exe", "ipmsg.chm", "setup.exe"])
----------------------------------------------------