> From: Paul Davis <[email protected]> > To: [email protected] > Cc: > Sent: Friday, March 25, 2011 5:39 AM > Subject: Re: [Flac-dev] pkg-config output and <FLAC/assert.h> > > On Fri, Mar 25, 2011 at 5:32 AM, Erik de Castro Lopo > <[email protected]> wrote: >> Hi, >> >> FLAC helpfully provides a flac.pc file. Unfortunately there is a >> nasty interaction between that file and system header files. >> >> If ones installs flac and relies on pkg-config to find the CFLAGS >> one woulf get CFLAGS value of "-I${includedir}/FLAC" which > suggests >> that FLAC header files like <metadata.h> should be included as: >> >> #include <metadata.h> >> >> However, FLAC also ships an <assert.h> header file. If one writes >> code that wants needs both the Standard C <assert.h> and the FLAC >> header files, we run into a problem, the C compiler finds FLAC's >> <assert.h> instead of the Standard C version. >> >> I believe the correct solution to this problem is the change the >> Cflag value in flac.pc to "-I${includedir}" and then encourage >> people to use: >> >> #include <FLAC/metadata.h> >> #include <FLAC/assert.h> >> #include <assert.h> >> >> which will no longer conflict. >> >> Opinions? > > i recall raising this as an issue about 18 months ago. i certainly > feel that the include style that flac uses now is simply wrong, and > that your suggestion above (which matches the one i made) is > substantially preferable.
I didn't follow, which style is wrong? I never liked lazy search paths like: -I.../include/FLAC #include <metadata.h> because of the potential for conflict with other headers. The code should be using this style everywhere: -I.../include #include <FLAC/metadata.h> Then there is no problem with #include <FLAC/assert.h> _______________________________________________ flac-dev mailing list [email protected] http://lists.xiph.org/mailman/listinfo/flac-dev
