[PHP-users 18417]Re: Windowsでの コンパイル方法
Moriyoshi Koizumi
moriyoshi @ at.wakwak.com
2003年 10月 12日 (日) 17:04:46 JST
小泉です。
Hideto NAKAMURA <hideto.nakamura @ hideton.ddo.jp> wrote:
> > 通常は、mbstring は DLL として別にビルドするのですが、
> > 何か意図があるのでしょうか?
>
> HAVE_MBSTRING とかは定義が必要なものと誤解していました。
> ようは、組み込むかどうかであって、DLLとして外出しするのであれば
> 定義は必要なかったのですね。
> 廣川さんがコンパイルして公開していらっしゃるものは、mbstring が
> あらかじめ組み込まれているものだったので、完全に誤解していました。
実は、あとで気づいたのですが、
HAVE_MBSTRING の定義が config.w32.h にないと、
zend multibyte は動くかもしれませんが、
エンコーディング自動変換が動かないかもしれません。
(ダイナミックリンクの場合)
zend_config.w32.h には、
#include "../main/config.w32.h"
を加えずに、
#define ZEND_MULTIBYTE 1
のみを追加、
一方、config.w32.h には、
#define HAVE_MBSTRING 1
#define HAVE_MBREGEX 1
#define HAVE_MBSTR_JA 1
#define ZEND_MULTIBYTE 1
を追加し、また、
mbstring.h の
extern zend_module_entry mbstring_module_entry;
を
MBSTRING_API extern zend_module_entry mbstring_module_entry;
のように変更し、さらに、
MBSTRING_API ZEND_EXTERN_MODULE_GLOBALS(mbstring)
をその次の行に追加した上で、
mbstring.dsp をビルドし、生成された lib ファイルを、php4ts.dll に
リンクする形にすれば大丈夫と思います。(未確認です ^^;)
PHP-users メーリングリストの案内