I have encountered a strange linker problem that has me utterly perplexed :
I am building a test app through the command line (using jam) :
If I rebuild from scratch : everything links fine.
If i then touch a file (add a space etc), the act of compiling the single file throws up a missing symbol error (the usual ld : symbols missing for architecture…)
If i then force a rebuild, everything works fine.
When i look at the command lines everything looks fine (no diffs in the two commandlines), the symbols are contained in the lib’s which are passed in, it just doesn’t make any sense unless its generating different mangled names/linkage between builds…
Anyone have any ideas ?
ok for those who run into something similar :
This was a config issue with an the archiver.. it wasnt correctly setup to update archives, so instead of patching in the updated symbols/code it generated a new lib from the only the updated ones leaving any not updated symbols out of the new lib.