7

私の iPhone プロジェクトの 1 つで、マップビューでルーティングを描画するために RegexLiteKit を使用しました。コンパイル中に次のエラーが表示されます。

Undefined symbols for architecture i386:
  "_uregex_start", referenced from:
      _rkl_performRegexOp in RegexKitLite.o
      _rkl_search in RegexKitLite.o
      _rkl_findRanges in RegexKitLite.o
  "_uregex_end", referenced from:
      _rkl_performRegexOp in RegexKitLite.o
      _rkl_search in RegexKitLite.o
      _rkl_findRanges in RegexKitLite.o
  "_uregex_setText", referenced from:
      _rkl_clearCacheSlotSetTo in RegexKitLite.o
      _rkl_setCacheSlotToString in RegexKitLite.o
  "_uregex_find", referenced from:
      _rkl_search in RegexKitLite.o
  "_uregex_findNext", referenced from:
      _rkl_search in RegexKitLite.o
      _rkl_replaceAll in RegexKitLite.o
  "_u_errorName", referenced from:
      _rkl_NSExceptionForRegex in RegexKitLite.o
      _rkl_userInfoDictionary in RegexKitLite.o
  "_u_strlen", referenced from:
      _rkl_userInfoDictionary in RegexKitLite.o
  "_uregex_reset", referenced from:
      _rkl_replaceAll in RegexKitLite.o
  "_uregex_appendReplacement", referenced from:
      _rkl_replaceAll in RegexKitLite.o
  "_uregex_appendTail", referenced from:
      _rkl_replaceAll in RegexKitLite.o
  "_uregex_open", referenced from:
      _rkl_getCachedRegex in RegexKitLite.o
  "_uregex_groupCount", referenced from:
      _rkl_getCachedRegex in RegexKitLite.o
  "_uregex_close", referenced from:
      _rkl_clearCacheSlotRegex in RegexKitLite.o

ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

RegexLiteKit を機能させる方法はありますか? 助けてください..

4

6 に答える 6

18
  • ターゲットビルド設定に移動します
  • 検索するlinker flags
  • 近くother linker flagsをダブルタップして追加-licucore

終わり

于 2013-09-15T08:40:35.773 に答える
14

libicucore フレームワークをプロジェクトに追加してこの問題を解決し、参考のためにこのリンクhttp://www.mobisoftinfotech.com/blog/iphone/iphone-regular-expression-tutorial-regexkitlite-framework/を参照してください。

于 2012-09-10T07:33:56.960 に答える
10

libicucore フレームワークをプロジェクトに追加することでこの問題を解決しました。libicucore フレームワークを追加する方法Build Settings-> Linking->Other Linker Flags --> -licucore

于 2013-03-09T05:37:19.883 に答える
9

以下のリンカーフラグを設定する必要があります。これは、同じことを行うための手順です。Build Settings -> Linking -> Other Linker Flags -> -licucoreに移動します

追加することを忘れないでください-上にlicucore

于 2013-03-21T14:20:53.643 に答える
1

プロジェクトに arc を使用していない場合は、 のコンパイラ フラグを追加して-fno-objc-arcくださいRegexKitLite.m

次に、次のようにその他のリンカー フラグを追加する必要があります。

ビルド設定 > リンク >その他のリンカー フラグ

追加:

-licucore
-ObjC
-lc++

ありがとう、

于 2015-09-12T08:28:33.327 に答える