Ok, I figured out a good way to do this.
I used nm -u
to list the undefined symbols from my object files. (the .o
files)
nm - list symbols from object files
Doing that one by one on each .o
and searching for the symbols I knew were undefined showed me what file they were coming from. Then I had a starting place for finding the symbol in my actual .c
file, or a header file included from that .c
file.
Now it's not a needle in a haystack, but rather a needle in a chunk of hay that broke off of the haystack.