[PHP-users 23952] 4.3.10がWindowsでビルドできない

"佐野 大輔" d-sano @ cybozu.co.jp
2004年 12月 21日 (火) 16:55:50 JST


佐野と申します。

4.3.10をWindowsでビルドしようとしたのですが、

コンパイル時に、

C:\cygwin\home\Administrator\cvs\work\azalea_win\php-4.3.10\Zend\zend_sprintf.c(30) : warning C4273: 'sprintf' : DLL リンケージが矛盾しています。DLL にエクスポートされていると仮定します。

となり、リンク時に

MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf はすでに ZendTS.lib(zend_sprintf.obj) で定義されています

となって、失敗します。

ソースを見ると、Zend/zend_sprintf.cで、

int zend_sprintf(char *buffer, const char *format, ...)
{
     ....
}

と実装されてるにも関わらず、
Zend/zend_config.w32.hでは、

#define zend_sprintf sprintf

としてあったので、
このマクロ定義をはずすととりあえずビルドできたのですが。。

このような対処で良いのでしょうか?
どうぞ、ご助言よろしくお願いいたします。


PHP-users メーリングリストの案内