2

この質問の動機は、論文の一部として試みているプロジェクトである iPhone アプリケーションで LDAP 機能を動作させようとしていることにあります。

アプリケーションを開発していたとき、Mac OS X の一部である ldap.framework フレームワークを使用しました。これはシミュレーターでは問題なく動作しますが、デバイスでアプリを取得しようとすると、許可されていないと表示されます。このフレームワークを使用します。

いくつかの調査の後、arm アーキテクチャを使用して openldap を構築し、デバイス向けのアプリケーションに静的ライブラリを追加できることがわかりました。

ここで述べたように変数を設定し、次のコマンドを使用して、configureをコンパイルし、openldapを構築することができました...

Ade$ ./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
Ade$ make depend
Ade$ make

探しているファイルの拡張子は「.a」になると言われたので、ldap に言及している「.a」ファイルを検索しました...

Ade$ sudo find / -name *ldap*.a
Password:
/Users/Ade/Desktop/openldap-2.4.16/libraries/libldap/.libs/libldap.a
/Users/Ade/Desktop/openldap-2.4.16/libraries/libldap_r/.libs/libldap_r.a

それで、これらは私が必要とするファイルだと思いますか?

私の質問は、次に何をするかです。ライブラリを Xcode プロジェクトに追加する必要があり、おそらく「.h」ファイルも大量に追加する必要があることはわかっています。

誰かが私にドキュメントへのポインタを与えたり、次の段階に光を当てることができれば、本当に感謝しています.

どうもありがとう、アデ

ps。このプロセスについては、www.greenpasta.comのブログでも説明しています。

4

3 に答える 3

2

これと同じことを行って、iPhoneOS 2.2 用の LDAP クライアントを構築しました。.a を「ライブラリとのリンク」ビルド段階にドラッグするだけです。LDAP の再入可能性が特に必要な場合を除き (これはお勧めしません)、通常の (非 _r) バージョンのライブラリを使用することをお勧めします。プロジェクトに .h を追加することもできます。これは、通常、それらにアクセスする最も簡単な方法です。

于 2009-05-26T13:44:53.443 に答える
1

.a ファイルを Xcode プロジェクトにドラッグし、[ファイルをプロジェクトにコピー] を選択するだけです。私は OpenLDAP に詳しくありませんが、_r バージョンは単なるスレッドセーフ バージョンだと思います。それを使用し、他のものをコピーしないことをお勧めします。おそらく、両方のファイルを Xcode にコピーしないでください。そうしないと、リンク エラーが発生します。

次に、OpenLDAP のクライアント API を定義する .h ファイルについても同じことを行います。これらがどれであるかはわかりませんが、簡単に見つけることができると確信しています。

リソースの下の Xcode グループに .a ファイルと .h ファイルをまとめて整理することをお勧めします。

ソースにヘッダー ファイルをインクルードすれば、準備完了です。

于 2009-04-20T10:57:49.027 に答える
0

-lldap をリンカー コマンド (ビルド設定ペイン) に追加する必要がある場合もあります。

于 2009-05-07T16:52:33.857 に答える