From: arton Date: 2006-02-19T13:42:19+09:00 Subject: [ruby-dev:28339] VC8 and ext/openssl artonです。 VC++8(VS 2005)で、ext/opensslがコンパイルエラーとなります。 VC++8では__VA_ARGSが定義されていますが、そのためHAVE_VA_ARGS_MACROが定義 され、ext/ossl.hの #define OSSL_Debug(fmt, ...) do { \ if (dOSSL == Qtrue) { \ fprintf(stderr, "OSSL_DEBUG: "); \ fprintf(stderr, fmt, ##__VA_ARGS__); \ fprintf(stderr, " [in %s (%s:%d)]\n", __func__, __FILE__, __LINE__); \ } \ } while (0) が有効となります。 しかしVC++8では__func__は未定義のためコンパイルに失敗します。 VC++8には、__func__と同等だと思われる__FUNCTION__というマクロが定義され ているので、代わりにこちらを利用できると良いのではないかと思います。 正直なところ、どうあるべきかは僕には判断できないのですが http://lists.gnu.org/archive/html/bug-autoconf/2002-07/msg00028.html のあたりで議論されているようです。 -- arton -------------------------------------- GANBARE! NIPPON! Yahoo! JAPAN JOC OFFICIAL INTERNET PORTAL SITE PARTNER http://pr.mail.yahoo.co.jp/ganbare-nippon/