2011-12-07 16 views
5

のARMv7アーキテクチャのためには小さすぎるファイルを、私はこの奇妙なリンカエラーを取得:Xcodeのリンクエラー:

ld: in /Users/.../test project/iSMP.framework/iSMP, file too small for architecture armv7

collect2: ld returned 1 exit status Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/llvm-gcc-4.2 failed with exit code 1

XcodeのVERS:私は、シミュレータ用にコンパイルした場合4.0.2

、私は

... file too small for architecture i386

を取得

Googleはまったく助けません。

私はすでに試みました:

  • 別のディレクトリにフレームワークに
  • 明確な検索パス
  • 移動枠組みを再追加して、再度追加します。

更新:そう

Architectures in the fat file: libiSMP-2.1.a are: armv6 armv7 i386

libiSMP-2.1.a -infoリポからの出力、それはアーキテクチャの不一致からではありません。

ありがとうございます!

私はこのフレームワーク(みんなありがとう)のサポートチームからのソリューションを受け取った
+3

清潔なビルドは私のために解決しました... – Ondrej

+0

私は以下の手順で問題を解決しました:1. Xcodeを閉じます。2. DerivedDataフォルダをクリーニングします。3.リビルド – cndv

答えて

6

Symbolic links are turned into flat files when they are moved from OS/X to Windows. The iSMP framework has the following structure: iSMP.framework/iSMP (symbolic link pointing to libiSMP-2.1.a)/ Headers/libiSMP-2.1.a

To fix the issue, you might open the terminal application on Mac and move to the iSMP.framework directory. When you type 'ls -l iSMP' command you will notice that the iSMP file has no longer the 'l' attribute. You should then recreate the symbolic link by deleting the iSMP file. type then 'ln -s libiSMP.2.1.a iSMP' .This will create the link.

You may now rebuild the project.

Another solution to fix the problem is to delete the iSMP file and rename libiSMP-xx.a to iSMP.

TL/DR:それらがOS/Xから移動されたときにシンボリックリンクはフラットファイルになっていますWindows。あなたはそれらを更新する必要があります。

+1

これは私の問題を解決しました。私はシンボリックリンクを作り直した。 – nsantorello

+0

私はlibjpeg.dylibで同様の問題を抱えていました。私はdylib全体を置き換えました。 – 2am

関連する問題