I have an app project that included a private framework, and the framework
in turn included the sqlite dynamic library which comes with Tiger.
This all worked fine, until I discovered that the sqlite dylib packaged in
Tiger is an old version that had some limitations. So I compiled a new
version, removed Tiger's sqlite from my private framework, and added my new
sqlite dylib in its place.
Result: The private framework compiles with no problems, but now my app
project gives a link error:
/usr/bin/ld: warning can't open dynamic library:
/Developer/SDKs/MacOSX10.4u.sdk/usr/local/lib/libsqlite3.dylib referenced
from:
/Users/jk/Documents/MyApp/../MyFramework/build/Release/MyFramework.framework
/MyFramework
Of course it can't find it.....
The actual path to Tiger's old sqlite dylib is:
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libsqlite3.0.dylib
The actual path to my new sqlite dylib is:
../sqlite3/build/Release/libsqlite3.dylib
But Xcode is looking for this nonsense:
/Developer/SDKs/MacOSX10.4u.sdk/usr/local/lib/libsqlite3.dylib
And indeed there is no such thing. That path is almost the Tiger sqlite
dylib, except if you look carefully you see that it has added that path
component to directory "/local/ (which does not exist ) and also the
filename is my new dylib's filename (it lacks the ".0").
Now I have searched and searched all the settings in MyApp and MyFramework
to see where this nonsense could have come from; the only thing close is the
SDK Path which is "/Developer/SDKs/MacOSX10.4u.sdk". "Get Info" on my new
sqlite dylib in Groups & Files correctly shows its actual path.
In both projects, I have added the correct path
"$(SRCROOT)/../sqlite3/build/Release" to "Library Search Paths", and checked
"Always Search User Paths" (even though this seems to affect only headers,
not libraries). Still the same error.
Where should I be looking for this?