0

私はこれで Extractzipfile プラグインを使用しようとしています: https://github.com/phonegap/phonegap-plugins/tree/master/iOS/ExtractZipFile

しかし、sdk 6.1 で Xcode 4.6.1 を使用してコンパイルすると、エラーがスローされます。

 Undefined symbols for architecture i386:
    "_OBJC_CLASS_$_SSZipArchive", referenced from:
        objc-class-ref in ExtractZipFilePlugin.o
  ld: symbol(s) not found for architecture i386
  clang: error: linker command failed with exit code 1 (use -v to see invocation)

ここで問題を解決しようとしています:アーキテクチャ armv7 SSZipArchive の未定義シンボル

しかし、別のエラーが表示されます:

/Users/alienware/Desktop/ExtractZipFile/SSZipArchive/Tests/SSZipArchiveTests.m:10:9:「SenTestingKit/SenTestingKit.h」ファイルが見つかりません

私は phonegap を使用しており、iOS でアプリを作成しています。

更新: SSZipArchive.m をコンパイラ ソースに追加しようとすると、新しいエラーが発生します:

Undefined symbols for architecture i386:
"_unzClose", referenced from:
    +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzCloseCurrentFile", referenced from:
    +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzGetCurrentFileInfo", referenced from:
    +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzGetGlobalInfo", referenced from:
    +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzGoToFirstFile", referenced from:
  +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzGoToNextFile", referenced from:
  +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
  "_unzOpen", referenced from:
    +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzOpenCurrentFile", referenced from:
  +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzOpenCurrentFilePassword", referenced from:
    +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_unzReadCurrentFile", referenced from:
    +[SSZipArchive unzipFileAtPath:toDestination:overwrite:password:error:delegate:] in SSZipArchive.o
"_zipClose", referenced from:
    -[SSZipArchive close] in SSZipArchive.o
"_zipCloseFileInZip", referenced from:
    -[SSZipArchive writeFile:] in SSZipArchive.o
    -[SSZipArchive writeData:filename:] in SSZipArchive.o
"_zipOpen", referenced from:
    -[SSZipArchive open] in SSZipArchive.o
"_zipOpenNewFileInZip", referenced from:
    -[SSZipArchive writeFile:] in SSZipArchive.o
    -[SSZipArchive writeData:filename:] in SSZipArchive.o
"_zipWriteInFileInZip", referenced from:
    -[SSZipArchive writeFile:] in SSZipArchive.o
    -[SSZipArchive writeData:filename:] in SSZipArchive.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
4

3 に答える 3

4

[プロジェクト設定] > [ビルド フェーズ] タブに移動し、[ソースをコンパイル] に移動して、クラスをリストにドラッグしてください。

于 2013-04-09T09:12:36.547 に答える
1

私はまったく同じ問題を抱えていました。これがあなたがしなければならないことです。プロジェクトで、SSZipArchive という独自のグループ (フォルダー) を作成し、そこに 2 つのメイン クラス ファイルをドラッグ アンド ドロップします。次に、SSZipArchive 内に minizip というサブフォルダーを作成し、minizip 内のファイルをこのフォルダーにドラッグ アンド ドロップします。基本的に、ソースコード内のフォルダは手動で作成する必要があります...

于 2015-05-21T02:04:22.147 に答える