[MPlayer-dev-eng] Local headers are included over system headers

Uoti Urpala uoti.urpala at pp1.inet.fi
Sat May 3 12:10:51 CEST 2008


On Sat, 2008-05-03 at 10:28 +0200, Nico Sabbi wrote:
> If you configure --without-dvdread-internal and if the dvdread is installed
> globally (e.g. in /usr/local/include/dvdread) the code in stream/stream_dvd.h
> still includes mplayer's local copy of dvdread headers, contrary to my expectations.
> (just include #error EXTERNAL_DVDREAD at the beginning of /usr/local/include/dvdread/dvd_reader.h
> and verify) .
> The code in stream/stream_dvd.h looks correct to me:
> 
> #ifdef USE_DVDREAD_INTERNAL
> #include "dvdread/dvd_reader.h"
> #include "dvdread/ifo_types.h"
> #include "dvdread/ifo_read.h"
> #include "dvdread/nav_read.h"
> #else
> #include <dvdread/dvd_reader.h>
> #include <dvdread/ifo_types.h>
> #include <dvdread/ifo_read.h>
> #include <dvdread/nav_read.h>
> #endif
> 
> thus the wrong inclusion is probably due to wrong -I flags.
> Can someone give it a look, please?

-I adds directories to the search path for includes using both "" and
<>. Thus having the top-level MPlayer source directory in the default -I
flags means <dvdread/dvd_reader.h> will be found under the local
dvdread/ too. Using -iquote instead of -I adds directories to the search
path for includes using "" only, but it is a less standard compiler
option than -I. I see no other easy way to avoid the problem by include
path changes as long as the files have the current names and locations
though.




More information about the MPlayer-dev-eng mailing list