Как для GCC 3.3.2 должен выглядеть код :
static struct {
const char *name;
void **func;
} arts_functions[] = {
{ arts_init, (void **)&SDL_NAME(arts_init) },
{ "arts_free", (void **)&SDL_NAME(arts_free) },
{ "arts_play_stream", (void **)&SDL_NAME(arts_play_stream) },
{ "arts_stream_set", (void **)&SDL_NAME(arts_stream_set) },
{ "arts_stream_get", (void **)&SDL_NAME(arts_stream_get) },
{ "arts_write", (void **)&SDL_NAME(arts_write) },
{ "arts_close_stream", (void **)&SDL_NAME(arts_close_stream) },
};
а то компелятор ругаеться :
SDL_artsaudio.c:79: warning: initialization from incompatible pointer type
SDL_artsaudio.c:79: warning: dereferencing type-punned pointer will break strict-aliasing rules
SDL_artsaudio.c:80: warning: dereferencing type-punned pointer will break strict-aliasing rules
SDL_artsaudio.c:81: warning: dereferencing type-punned pointer will break strict-aliasing rules
SDL_artsaudio.c:82: warning: dereferencing type-punned pointer will break strict-aliasing rules
SDL_artsaudio.c:83: warning: dereferencing type-punned pointer will break strict-aliasing rules
SDL_artsaudio.c:84: warning: dereferencing type-punned pointer will break strict-aliasing rules
SDL_artsaudio.c:85: warning: dereferencing type-punned pointer will break strict-aliasing rules
SDL_artsaudio.c: In function `UnloadARTSLibrary':
SDL_artsaudio.c:91: warning: implicit declaration of function `SDL_UnloadObject'
SDL_artsaudio.c: In function `LoadARTSLibrary':
SDL_artsaudio.c:101: warning: implicit declaration of function `SDL_LoadObject'
SDL_artsaudio.c:101: warning: assignment makes pointer from integer without a cast
SDL_artsaudio.c:106: warning: implicit declaration of function `SDL_LoadFunction'
SDL_artsaudio.c:106: warning: assignment makes pointer from integer without a cast
make[6]: *** [SDL_artsaudio.lo] Ошибка 1
make[6]: Выход из каталог `/home/alexsy/temp/mpeg4ip-1.1/lib/SDLAudio/src/audio/arts'
make[5]: *** [all-recursive] Ошибка 1
make[5]: Выход из каталог `/home/alexsy/temp/mpeg4ip-1.1/lib/SDLAudio/src/audio'
make[4]: *** [all-recursive] Ошибка 1
make[4]: Выход из каталог `/home/alexsy/temp/mpeg4ip-1.1/lib/SDLAudio/src'
make[3]: *** [all-recursive] Ошибка 1
make[3]: Выход из каталог `/home/alexsy/temp/mpeg4ip-1.1/lib/SDLAudio'
make[2]: *** [all-recursive] Ошибка 1
make[2]: Выход из каталог `/home/alexsy/temp/mpeg4ip-1.1/lib'
make[1]: *** [all-recursive] Ошибка 1
make[1]: Выход из каталог `/home/alexsy/temp/mpeg4ip-1.1'
make: *** [all] Ошибка 2
[alexsy@localhost mpeg4ip-1.1]$