2013-08-13 3 views
0

Я получаю сообщение об ошибке:Xcode ошибка: команда линкер потерпела неудачу с кодом выхода 1 (используйте опцию -v, чтобы вызов)

ld: library not found for -lOCMock 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Детальная ошибка:

Ld /Users/akashpatel/Library/Developer/Xcode/DerivedData/RideShareBuddy-cqfdiphwubeiexdigypzpjjfqaiy/Build/Products/Debug-iphonesimulator/RideShareBuddyTests.app/RideShareBuddyTests normal i386 
cd "/Users/akashpatel/Documents/iOS development/RideShare/RideShare" 
setenv IPHONEOS_DEPLOYMENT_TARGET 6.1 
setenv PATH "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.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 i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -L/Users/akashpatel/Library/Developer/Xcode/DerivedData/RideShareBuddy-cqfdiphwubeiexdigypzpjjfqaiy/Build/Products/Debug-iphonesimulator "-L/Users/akashpatel/Documents/iOS development/RideShare/RideShare/RideShare" -F/Users/akashpatel/Library/Developer/Xcode/DerivedData/RideShareBuddy-cqfdiphwubeiexdigypzpjjfqaiy/Build/Products/Debug-iphonesimulator "-F/Users/akashpatel/Documents/iOS development/RideShare/RideShare" -filelist /Users/akashpatel/Library/Developer/Xcode/DerivedData/RideShareBuddy-cqfdiphwubeiexdigypzpjjfqaiy/Build/Intermediates/RideShareBuddy.build/Debug-iphonesimulator/RideShareBuddyTests.build/Objects-normal/i386/RideShareBuddyTests.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -all_load -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=6.1 -framework QuartzCore -framework GHUnitIOS -framework UIKit -framework Foundation -framework CoreGraphics -lOCMock -o /Users/akashpatel/Library/Developer/Xcode/DerivedData/RideShareBuddy-cqfdiphwubeiexdigypzpjjfqaiy/Build/Products/Debug-iphonesimulator/RideShareBuddyTests.app/RideShareBuddyTests 

Я не» t иметь дубликаты файлов в Compile Sources.

Спросите, требуется ли более подробная информация.

EDIT:

#import <GHUnitIOS/GHUnit.h> 
#import "OCMock.h" 
#import "RS_LoginRSViewController.h" 

@interface RS_LoginRSViewControllerTest : GHTestCase 
{ 
    RS_LoginRSViewController * loginObject; 
} 
@end 

@implementation RS_LoginRSViewControllerTest 

// Run before each test method 
- (void)setUp { } 

// Run after each test method 
- (void)tearDown { } 

// Run before the tests are run for this class 
- (void)setUpClass 
{ 
    loginObject = [[RS_LoginRSViewController alloc] init]; 
    GHAssertNotNil(loginObject, @"Could not create test object."); 
} 

// Run before the tests are run for this class 
- (void)tearDownClass { } 

- (void)testViewDidLoad 
{ 
    GHTestLog(@"Log with a test with the GHTestLog(...) for test specific logging."); 
} 

@end 

Добавлен путь в Library search path и Header search path. Он поднял еще одну ошибку.

Undefined symbols for architecture i386: 
    "_OBJC_CLASS_$_RS_LoginRSViewController", referenced from: 
     objc-class-ref in RS_LoginRSViewControllerTest.o 
    (maybe you meant: _OBJC_CLASS_$_RS_LoginRSViewControllerTest) 
+0

У вас есть все необходимые фреймворки правильно? .. У вас есть libz.dylib? –

+0

Я только что интегрировал GHUnit и OCMock. Просто начинайте первый тестовый класс. Последовали все шаги на http://www.raywenderlich.com/3716/unit-testing-in-xcode-4-quick-start-guide. Я столкнулся с проблемой при интеграции OCMock, который '#import ' выдавал ошибку. Я изменил его на '#import" OCMock.h "и ошибка исчезла. Я не знаю, вызвало ли это проблему сейчас. – Geek

+0

Я подозреваю то же самое, похоже, что у вас отсутствует критическая структура. –

ответ

0

Сначала мне нужно было установить Library search path и Header search path, как показано в Adding OCMock->step 3 в этом link.

После этого, чтобы решить мою ошибку Undefined symbol, мне пришлось добавить все классы для проверки цели. Чтобы посмотреть, как добавлять файлы к определенной цели, просмотрите SO question.

0

Я не хочу, чтобы перетащить раздел комментариев, как его уже достиг limit..I подозревает, как вы импортируете рамки третьей стороны, такие как OCMock неправильно ...

Как вы уже загрузили образец из raywenderlich, просто сравнить его builsettings раздел с фактическим проектом ...

link1 Проверить эти и link2 ..Moreover его возможного дубликата, что вы ищете ...

+0

Еще одно обновление. Используя этот http://ocmock.org/ios/, я модифицировал 'Other Linker Flags' и удалил ошибку неопределенного символа. В настоящее время только ошибка, с которой я столкнулся, это 'ld: file not found: -fobjc-arc clang: ошибка: команда компоновщика не сработала с кодом выхода 1 (используйте -v, чтобы увидеть вызов)'. – Geek

+0

Теперь перейдите по ссылке1 и проверьте на 3 возможности, изложенные rob ... –

+0

Как он отмечает, я добавил файл 'RS_LoginRSViewController.m' в цель для тестов. Но та же проблема. – Geek