[Flac-dev] pkg-config output and <FLAC/assert.h>

Paul Davis paul at linuxaudiosystems.com
Fri Mar 25 05:39:03 PDT 2011


On Fri, Mar 25, 2011 at 5:32 AM, Erik de Castro Lopo
<mle+la at mega-nerd.com> 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.


More information about the Flac-dev mailing list