I’m writing this blog entry just in case other people come across the same problem and can’t seem to figure out what’s going on.
I found it in Xcode 2.5 that hasn’t been fixed in the latest version of Xcode that I have, version 3.1.3.
The bug I’m referring to is when you create a target as a static lib output, then you change the target later to output a dylib. The problem is that everything looks fine… heck, it even puts a dylib in the file name extension, but the file is actually a static library.
You have to go to Terminal.app and use the file command to see that the file is in fact, a static lib and not a dylib. You may not notice the problem at first until you go to debug the project and notice some weirdness.
Hopefully, you haven’t gotten bit by this problem, but if you have, the only solution I found was to create a new target from scratch.