[MPlayer-users] iconv.h used in font_load_ft.c though USE_ICONV undefined
Stefan Gürtler
Stefan.guertler at stud.tum.de
Thu Feb 5 21:46:51 CET 2004
Hi
Once again i have a problem with an header file while compiling MPlayer
using MinGW.
This time there is the file iconv.h missing while compiling font_load_ft.c
font_load_ft.c:21:19: iconv.h: No such file or directory
font_load_ft.c:736: error: parse error before '*' token
font_load_ft.c: In function `decode_char':
font_load_ft.c:738: error: `c' undeclared (first use in this function)
font_load_ft.c:738: error: (Each undeclared identifier is reported only once
font_load_ft.c:738: error: for each function it appears in.)
font_load_ft.c:743: error: `cd' undeclared (first use in this function)
font_load_ft.c: In function `prepare_charset':
font_load_ft.c:760: error: `iconv_t' undeclared (first use in this function)
font_load_ft.c:760: error: parse error before "cd"
font_load_ft.c:763: error: `cd' undeclared (first use in this function)
make[1]: *** [font_load_ft.o] Error 1
In libvo/font_load_ft.c, line 21:
#include <iconv.h>
No "#ifdef USE_ICONV" enclosing it.
Above it in line 14 there is an
#ifdef HAVE_FREETYPE
and its #endif is at the end of the file.
Does this falsely imply that ther is an libiconv installed on the system?
I had a look at configure, but i could no see any checks for libiconv in the
HAVE_FREETYPE chapter.
Later on in font_load_ft.c you will find the function decode_char:
/* decode from 'encoding' to unicode */
static FT_ULong decode_char(iconv_t *cd, char c) {
char *inbuf = &c;
char *outbuf = (char*)&o;
int inbytesleft = 1;
int outbytesleft = sizeof(FT_ULong);
iconv(*cd, &inbuf, &inbytesleft, &outbuf, &outbytesleft);
/* convert unicode BigEndian -> MachineEndian */
o = be2me_32(o);
// if (count==-1) o = 0; // not OK, at least my iconv() returns E2BIG
for all
if (outbytesleft!=0) o = 0;
/* we don't want control characters */
if (o>=0x7f && o<0xa0) o = 0;
return o;
}
Here the type iconv_t which is defined in iconv.h is used
The same goes for function
static int prepare_charset(char *charmap, char *encoding, FT_ULong *charset,
FT_
ULong *charcodes)
I had a look at the Revision 1.12 of font_load_ft.c using the CVS-Web
interface. There everything concerning iconv.h looks the same for me. Now i
am puzzled why i used to be able tu compile mplayer before.
Some information on libiconv
http://www.gnu.org/software/libiconv/#TOCdownloading
Configuration:
Stefan at J5U7R1 ~/main
$
./configure --prefix=/opt/mplayer_real10 --with-win32libdir=./codecs --enabl
e-real --with-reallibdir=./codecs
config.h states:
#undef USE_ICONV
CVS checkout from February 5th, 2004, both mplayer and libavcodec
Yours
Stefan
More information about the MPlayer-users
mailing list