Po pierwsze, w moim programowaniu używałem tylko metod Objective-c. Postanowiłem wykonać kilka szybkich obliczeń matematycznych jako funkcje c, a następnie skończyłem je wymagając dla wielu klas. Tak więc utknąłem funkcje c w osobnym pliku .h. Działa to dobrze, dopóki nie spróbuję zaimportować pliku .h do więcej niż jednej klasy. Następnie pojawia się ten błąd:Powielony błąd symbolu z funkcji C w Objective-C
Duplicate Symbol *_myFunction* blah blah blah Linker command failed with exit code 1 (use -v to see invocation)
Jak mogę użyć funkcji c w więcej niż jednej klasie bez tego błędu łącza. Próbowałem już tylko zdefiniować funkcje w klasach, których potrzebuję, ale wydaje się, że nawet jeśli są to różne klasy, pojawia się ten błąd, jeśli nazwa funkcji jest taka sama. Prawdopodobnie jestem tu szalony, ale niektóre pomagają w zrozumieniu.
+1, ale dlaczego warto deklarować funkcję na zewnątrz? – MByD
@ BinyaminSharet Masz rację, ciągle zapominam, że 'extern' jest całkowicie opcjonalny na deklaracjach :) – dasblinkenlight
Właśnie to, co potrzebowałem wiedzieć. Dzięki! – daveMac