On Mon, 16 Nov 2020 13:38:01 +0000 Will J Godfrey <willgodf...@musically.me.uk> wrote:
> Not wishing to hijack this thread but I'm still confused :( > > I just did a search of the whole of src. It's *used* about a dozen > times across 5 otherwise unrelated .cpp files, but is only defined > here. Just to be certain, I did a make clean before trying this > again, and it's definitely saying multiple defs > > e.g > /usr/bin/ld: > CMakeFiles/yoshimi.dir/UI/WidgetMWSlider.cpp.o:(.rodata+0x0): > multiple definition of `ADD_COLOUR'; > CMakeFiles/yoshimi.dir/Interface/InterChange.cpp.o:(.rodata+0x1840): > first defined here > > This happens at the linker stage. > > Also, I thought the whole idea of putting things like this in a > #ifndef/#def block was to ensure it was only set once. > It is only set once *per file* which includes the header. But since the symbol is extern, the linker sees one public copy per file, which conflict with each other. -a.
pgpgkvYhUvSN1.pgp
Description: OpenPGP digital signature
_______________________________________________ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org https://lists.linuxaudio.org/listinfo/linux-audio-dev