получил файл с именем GeneralUtils.m и его заголовочный файл. Я использую это как общие методы в нескольких проектах IOS.m и дилемма расширения файла файла
Вопрос: Некоторые проекты успешно компилируют. , но одна из ошибок проекта бросает во время компиляции: чем я изменяю расширение файла m в файл mm. и он компилируется. Но, кстати, другие проекты не компилируются и не переименовываются снова.
Я хочу понять логику. почему некоторые из моего проекта IOS хочет, чтобы ее расширение, как м и другой хочет его как расширение файла мм
Сведения об ошибке:
Undefined symbols for architecture armv7:
"randIntBetween(int, int)", referenced from:
-[Blah method1] in File1.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Что в этом файле? В каком случае это ошибка? И какова ошибка в другом случае? (FYI, 'mm' для файлов Objective-C++, поэтому вы должны смешивать C++ и Objective-C.) – mattjgalloway
Что вы подразумеваете, что проекты« хотят »определенного расширения файла? Если вы компилируете файл .mm, вы компилируете Objective-C++, что означает, что связанный заголовок обрабатывается в контексте C++. Возможно, вам нужна директива «extern» C «', чтобы предотвратить зависание C++ с привязкой ваших функций. – CodaFi
включает в себя простые методы только. без каких-либо деклараций классов. вопрос: 4 количество проектов IOS принимает GeneralUtils.m 1 количество проектов IOS принимает только GeneralUtils.mm, а не m file ?! –