So, yet another hurdle. The functions in my library, libdissonance, had generic names such as "chord", "name" and "invert". I decided to decrease ambiguity by changing them to ones such as "_chord", "_chord_name" and "_chord_invert". And, pow!, my executable doesn't link against the new names. Instead:
chord.c: In function ‘notes’:
...
chord.c:217: warning: format ‘%s’ expects type ‘char *’, but argument 2 has type ‘int’
...
where said argument 2 is a function which returns char*.
and, more importantly:
chord.o: In function `names':
/home/egasimus/Dev/dissonance/dissonance-cli/src/chord.c:160: undefined reference to `_chord_name'
chord.o: In function `main':
/home/egasimus/Dev/dissonance/dissonance-cli/src/chord.c:309: undefined reference to `_chord'
Any idea why this is happening?