この問題は私を夢中にさせており、それを修正する方法を見つけることができません...
Undefined symbols for architecture armv7:
"_deflateEnd", referenced from:
-[ASIDataCompressor closeStream] in ASIDataCompressor.o
"_OBJC_CLASS_$_ASIDataDecompressor", referenced from:
objc-class-ref in ASIHTTPRequest.o
"_deflate", referenced from:
-[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
"_deflateInit2_", referenced from:
-[ASIDataCompressor setupStream] in ASIDataCompressor.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
Command /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 failed with exit code 1
私はそれが関係していると思います:
ld: symbol(s) not found for architecture armv7
しかし、私は付け加えました:libz.1.2.3.dylib
そしてそれは役に立たない、誰かが何かアイデアを持っていますか?
nm -g
、シンボルを呼び出しているファイルとシンボルを含むファイルで実行します。それらが一致するかどうかを確認する必要があります。これにより、エラーの手掛かりが得られます。nm -g file.oこれでデマングルされたC ++シンボルを検査できます。nm -gC file.o
Undefined symbols for architecture armv7: "YGConfig::YGConfig(int (*)(YGConfig*, YGNode*, YGLogLevel, char const*, void*))", referenced from: _YGConfigNew in libyoga.a(Yoga.o) ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)
-ObjC
他のリンカーフラグを使用している可能性があるため、(Parseからなど)表示すべきではない使用している外部静的ライブラリからのObj-Cが表示されることです。これが当てはまる場合は私の回答を参照してください:stackoverflow.com/a/26151208/901641