onscripter-20090116.tar.gz
i386-mingw32 (Windows)
この環境でONScripterをコンパイルしたとき
以下のコンパイルエラーが発生します。
>DirectReader.cpp: In static member function `static void DirectReader::convertFromSJISToUTF8(char*, const char*, size_t)':
>DirectReader.cpp:411: error: invalid conversion from `const char**' to `char**'
>DirectReader.cpp:411: error: initializing argument 2 of `size_t libiconv(void*, char**, size_t*, char**, size_t*)'
>make[1]: *** [DirectReader.o] Error 1
iconv関数がchar**を要求しているところにconst char**を与えていることが原
因のようです。
DirectReader.cppの411行目のこの部分
int ret = iconv(iconv_cd, &src_buf, &src_len, &dst_buf, &dst_len);
const char**のsrc_bufをchar**でキャストしたところ
int ret = iconv(iconv_cd, (char**)&src_buf, &src_len, &dst_buf, &dst_len);
コンパイルが通るようになりました。