1

iOS プロジェクトのビルド スクリプトを作成していました。プロジェクトは XCode を介してビルドされます。ただし、 xcodebuild コマンドを使用すると、奇妙なリンク エラーが発生します。

ld: warning: ignoring file /sw/lib//libiconv.dylib, file was built for x86_64 which is not the architecture being linked (armv7): /sw/lib//libiconv.dylib
Undefined symbols for architecture armv7:
"_iconv_open", referenced from:
  l2451 in libscanditsdk-iphone-3.1.1.a(mirasense.o)
"_iconv", referenced from:
  l2451 in libscanditsdk-iphone-3.1.1.a(mirasense.o)
"_iconv_close", referenced from:
  l2451 in libscanditsdk-iphone-3.1.1.a(mirasense.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Google と SO を検索しても解決策は見つかりませんでした。

libiconv.dylib は、「Linked Binary」er フレームワークの下にリストされています。

私はこれに完全に困惑しています。プロジェクトが XCode 自体を介してコンパイルするように

ビルドを開始するために使用しているコマンドは次のとおりです。

xcodebuild -target "${TARGET_NAME}" -sdk "${TARGET_SDK}" -configuration Release -scheme "${SCHEME_NAME}" PROVISIONING_PROFILE="${PROJ_PROF_UUID}"
4

1 に答える 1

0

これを修正するには、ライブラリ検索パスに $(inherited) を追加する必要があることがわかりました。これにより、コンピューターで共有されている動的ライブラリではなく、iOS SDK で libiconv が検索されます。

于 2014-01-03T19:29:04.783 に答える