Да, я заставил это работать, поэтому я постараюсь вам помочь.
Здесь командная строка, которую я использовал для установки всех колб.
export DEVROOT=/Developer/Platforms/iPhoneOS.platform/Developer
export SDKROOT=$DEVROOT/SDKs/iPhoneOS2.2.sdk
export CPPFLAGS="-I$SDKROOT/usr/lib/gcc/arm-apple-darwin9/4.0.1/include/ -I$SDKROOT/usr/include/ -I/usr/local/BerkeleyDB.4.7/include/"
export CFLAGS="$CPPFLAGS -pipe -no-cpp-precomp -isysroot $SDKROOT"
export CPP="/usr/bin/cpp $CPPFLAGS"
export LDFLAGS="-L$SDKROOT/usr/lib/ -L/usr/local/BerkeleyDB.4.7/lib/"
Итак, мне нужно было собрать BerkeleyDB, моя версия 4.7.25.
./configure CC=$DEVROOT/usr/bin/arm-apple-darwin9-gcc-4.0.1 LD=$DEVROOT/usr/bin/ld --host=arm-apple-darwin
make
make install
И, наконец, я собрал openldap так:
./configure CC=$DEVROOT/usr/bin/arm-apple-darwin9-gcc-4.0.1 LD=$DEVROOT/usr/bin/ld --host=arm-apple-darwin --with-yielding_select=yes --enable-dynamic=yes --enable-modules=no --enable-static=yes --disable-shared --enable-ldap=yes && make depend && make
Может быть, вы сделали то же самое, если не попробовать эти команды. Я знаю, что я использовал gcc 4.0.1 вместо 4.2.1, как в iPhone OS 3, но я был заклинен, потому что когда пытался создать только статическую библиотеку, она не работала должным образом, когда я строил свой проект. (много ошибок)
После того, как я собрал openldap, я сделал новый проект
add in Header Search Path with the openldap include in Project Settings.
I copied both library into the ressource folder of my project : libldap.a and liblber.a
I filled Other Linker Flags with "-ObjC -lldap -llber"
Надеюсь, это поможет вам.