既存のアプリでLayar SDKを使用しようとすると、次のエラーが発生します。どうすれば解決できますか?
Ld /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos/hub.app/hub normal armv7
cd /Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub
setenv IPHONEOS_DEPLOYMENT_TARGET 5.0
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/ZBarSDK -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/Infosound/Lib -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/CrittercismSDK -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/UserVoiceSDK-2.0.4 -L/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/Libraries -F/Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos -F/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub -filelist /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Intermediates/hub.build/Debug-iphoneos/hub.build/Objects-normal/armv7/hub.LinkFileList -dead_strip -ObjC -all_load -fobjc-arc -fobjc-link-runtime -miphoneos-version-min=5.0 -lMPOAuthMobile -lsbjson-ios -framework LayarSDK -framework Social -framework AddressBook -framework AddressBookUI -framework UIKit -framework QuartzCore -framework Twitter -framework SystemConfiguration -framework Security -framework OpenAL -framework OpenGLES -framework MessageUI -framework MediaPlayer -framework Foundation -framework CoreGraphics -lc++ -framework CoreTelephony -framework CoreVideo -framework CoreMotion -framework CoreMedia -framework CoreLocation -framework CoreData -framework CoreAudio -framework CFNetwork -framework AVFoundation -framework AudioToolbox -lxml2 -liconv -lz -framework MobileCoreServices -lzbar -linfosound -lCrittercism_v3_4_6 -lUserVoice -o /Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Products/Debug-iphoneos/hub.app/hub
duplicate symbol _jpeg_free_large in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_free_small in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_get_large in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_get_small in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_mem_available in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_mem_init in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_mem_term in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_open_backing_store in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemname.o)
duplicate symbol _jpeg_free_large in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _jpeg_free_small in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _jpeg_get_large in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _jpeg_get_small in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _jpeg_mem_available in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _jpeg_mem_init in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _jpeg_mem_term in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _jpeg_open_backing_store in:
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemansi.o)
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jmemnobs.o)
duplicate symbol _main in:
/Users/pnawale/Library/Developer/Xcode/DerivedData/hub-afxxzaqisdfliwbzxbixsaifljcl/Build/Intermediates/hub.build/Debug-iphoneos/hub.build/Objects-normal/armv7/main.o
/Users/pnawale/Documents/Paresh/Yamaha_iPhone/Code/Final/hub/LayarSDK.framework/LayarSDK(jpegtran.o)
ld: 17 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
これは、誤って#import
a .m
ファイルの代わりに.h
!
通常、この種のエラーは、プロジェクトフォルダー内のクラスとxibが重複しているために発生します。たとえば、私のプロジェクトでは、いくつかのクラスファイルが重複しています(.h/.mファイル)。これらの重複するクラスは、target->Build phases->compile sources
で確認できます。
余分なクラスを探して削除するだけです。問題は解決されます。
ヘッダーファイル(複数の実装ファイルに含まれるヘッダーファイル)の静的変数で発生します。
Xcodeの推奨警告フラグを使用したため、このエラーが発生していました。 GCC_NO_COMMON_BLOCKS = YESが問題の原因でした。これをNOに戻すと修正されました。
Cordova iOS 4.5.0
を使用している場合は注意してください。この種のエラーが発生する可能性があります
duplicate symbol _OBJC_METACLASS_$_CDVLogger in:
/Users/toto/Library/Developer/Xcode/DerivedData/imp-hkzujazvkracgugyxunzwnzpeiqx/Build/Intermediates/imp.build/Debug-iphoneos/imp.build/Objects-normal/armv7/CDVLogger.o
/Users/toto/Library/Developer/Xcode/DerivedData/imp-hkzujazvkracgugyxunzwnzpeiqx/Build/Products/Debug-iphoneos/libCordova.a(CDVLogger.o)
ld: 2 duplicate symbols for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
cordova-plugin-console
を使用していることが原因である可能性がありますが、これはCordova iOS 4.5.0
でもう役に立ちません(そしてビルドも壊れます!)。
修正するには
cordova plugin remove cordova-plugin-console
リファレンスを参照してください: https://cordova.Apache.org/announcements/2017/09/08/ios-release.html
このエラーは、循環インポートがある場合にも発生する可能性があります。.._VC1.h
_、_VC2.h
_、および_VC3.h
_があるとします
エラーの原因となる例:(すべて_.h
_ファイルです)
VC1
_をインポートし、VC1が_VC2
_をインポートする場合VC2
_をインポートし、VC2が_VC3
_をインポートし、VC3が_VC1
_をインポートする場合解決策:
.m
_の代わりに_.h
_内にインポートする.h
_がそのクラスを必要とする場合、_.h
_をインポートする代わりに@class (nameOfClass);
を使用します使用するときは注意してください _#import
_、必要なものだけをインポートしてください。
私はこの問題に一度直面したことがあります。その理由は、実装本体で宣言されたメソッドと変数をあるクラスから別のクラスにコピーしたためです。したがって、これらのメソッドの名前を変更し、これらの変数をインターフェイス宣言領域に移動しました=>解決しました。
同じ問題が発生していましたが、ライブラリが異なります。修正は次のとおりです。
Target -> Build Phases -> Linked Binary With Libraries
含まれているライブラリが意味をなすことを確認してください。私の場合、私のプロジェクトにはlibPods * .a(依存関係mgmtにCocoaPodsを使用しています)がありましたが、ポッド共有ライブラリに含まれていたいくつかのライブラリもあり、それが重複を引き起こしていました。
このエラーを修正しました。 CocoaPodsにいくつかのフレームワーク(AWS、SDWebImage、AFNetworkingをインストールしました。FacebookとImageIOの2つのフレームワークに手動でドラッグしました。ほとんどの「重複シンボル」エラーはFacebookクラスでキャッチされました。フレームワークを削除してPodfileに追加しました。 Facebookが必要とするライブラリのエラーまたは重複である必要があります。
Xcodeに重複したファイルがありました。物理的には、1つのmファイルと1つのhファイルがありました。ただし、プロジェクトでは2倍になり、コンパイルソースで重複が発生しました。重複したmおよびhファイルの問題を解決した後、解決しました。
その理由は、iPhoneシミュレーターが.hおよび.m参照を重複して取得したためです。このバグのために何時間も苦労しました。
私の解決策は簡単でした。プロジェクトをペンドライブにコピーし、コンピューターのメモリから消去しました。
新しいプロジェクトを開き、ストーリーボードをコピーして、.h&.mファイルを追加しました。 storayboardビューでクラスを再度選択することで修正されたいくつかのエラー。
また、シンボルが重複していました。プロシージャ(app-> app1、app2)と関連フィールドapp.XXX-> app1.XXXの名前を変更しました。そしてそれは働いた!
参照:(.mファイル内)
AppDelegate* app1;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// Custom initialization
app1 = (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
return self;
}
(...)
- (int) getLimit
{
if (app1.product2buyed)
return MAXID;
else if (app1.product1buyed)
return 70;
else
return 10;
同様のプラグインがインストールされている場合があります。
Cordovaを使用していますが、重複したシンボルエラーがいくつかありました。 2つの同様のプラグインをインストールしました。
「cordova plugin email」を削除して修正しました...
cordova plugin remove cordova-plugin-email
その後、私は走った...
cordova prepare
cordova build ios
これで、私のxCodeビルドは魅力的に実行されました!わーーーーーーーー
フレームワークを複数回追加したかどうかを確認し、複数回追加した場合はすべてのフレームワークを削除してから、もう一度ドラッグアンドドロップしてください。
これで問題が解決することを願っています。ハッピーコーディング。