2011-01-13 17 views
1

iPhoneとiPadの両方のプログラムにtwitterモジュールを追加します。 そして私は2つの問題に会った。Twitter OAuth iPhoneの問題


第1回、iPhoneで。 twitterモジュールを自分のiPhoneプログラムにマージした後、ビルドはデバッグモードでのみ失敗します。リリースモードでは問題ありません。

エラーメッセージは、gccがそれを見つけることができないので、はい、それは単に

Libxml/xmlreader.h: No such file or directory 

です。 しかし、他のリンカフラグには-lxml2、リリースとデバッグモードでは両方ともプロジェクトビルド設定のヘッダ検索パスに/usr/include/libxml2/**が追加されています。


第2回、iPad。 TwitterモジュールをiPadプログラムに統合した後、以下のメッセージでビルドが失敗します。

ld: duplicate symbol _OBJC_METACLASS_$_MGTwitterEngine in 
/Users/eddy/Documents/iOS/workspace/.../i386/MGTwitterEngine-3460BD6C4381A3AC.o and 
/Users/eddy/Documents/iOS/workspace/.../i386/MGTwitterEngine-CC42501E82512F61.o 

Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc-4.2 
failed with exit code 1 

このメッセージが表示される理由はわかりません。 レディメイドモジュールはiPhone専用ですか? どうすればいいですか?

+0

:libxml2.dylibとlibz.1.2.3.dylibフレームワークを追加しましたか? – Nithin

答えて

2
  1. プロジェクト設定のヘッダ検索パスフィールドに "/ usr/include/libxml2"を追加します。

  2. 同じ名前の2つのファイル(ここではMGTwitterEngine)を同じターゲットに追加しました。

+0

ありがとうNithin。私は2番目の問題を解決しました。他のプログラマーが作ったプロジェクトにいくつかの追加機能を追加していたので、私は自分のプロジェクトにいくつかの同じファイルがあることを知りませんでした。 しかし、私はすでに再帰的な検索として '/ usr/include/libxml2'を追加しています。これはlinke '/ usr/include/libxml2/**'のようです。 容疑者はいませんか? – Suho