2012-01-29 11 views
6

Próbuję użyć KeyChainitemwrapper dostarczonego przez apple.Mój projekt używa ARC, ale mam włączone ARC na KeyChainitemwrapper.m. The „security.framework” ramy do mojego projektuJak naprawić błąd "Niezdefiniowane symbole dla architektury i386:" _main "problem z łączeniem?

otrzymuję ten łączący problem.

Undefined symbols for architecture i386: "_main", referenced from: start in crt1.10.6.o ld: symbol(s) not found for architecture i386 clang: error: linker command failed with exit code 1 (use -v to see invocation)

jestem nowy na rozwój ios ale domyślam się, że problem ma do czynienia z faktem, że symulator próbuje skompilować moje kierowanie na źródło i386 zamiast uzbroić? Czy jestem blisko?

W każdym razie wydaje się, że to opakowanie jest dość popularne, więc zastanawiałem się, czy ktoś, kto może być zaznajomiony z tym problemem, może pomóc.

Dzięki

Odpowiedz

24

Sugeruje to, że nie jesteś kompilacji main.m w projekcie. Upewnić się, co następuje:

  • Masz main.m w projekcie
  • Posiada funkcję w jego nazwie main()
  • Ty rzeczywiście kompilowanie go. Przejdź do swojego projektu, a następnie Utwórz fazy, a następnie Skompiluj źródła. Upewnij się, że main.m znajduje się na liście.
+0

Dzięki za odpowiedź. Mój projekt nie zawiera pliku o nazwie main.m. Również nie mogę znaleźć odniesienia do "głównego". – Nick

+0

Proszę. Nie masz 'main()', jak wskazuje kompilator. Prawdopodobnie powinieneś odbudować swój projekt z szablonu projektu. –

+0

Zacząłem od szablonu projektu. Może wyłączyłem budowanie czegoś? – Nick

0

Twój kod zostanie skompilowany dla architektury i386 podczas korzystania z symulatora. Jeśli używasz prawdziwego urządzenia, Twój kod zostanie skompilowany do uzbrojenia.

Pobrałem ten projekt, w grupie "inne źródła" znajduje się plik main.c.

0

Usunięcie odniesień do pliku main.ce w projekcie rozwiązało ten problem dla mnie

Powiązane problemy