Это одна из тех проблем, которая немного расплывчата и поэтому трудно определить причину. Я постараюсь сделать это простым.
Я создал класс C с таким заголовком:
C_Class.h
void do_something(void);
C_Class.c
void do_something(void)
{
}
Затем у меня есть файл .mm, который работал отлично, пока в одну из его функций я не добавил свою подпрограмму C, которую я создал ранее:
#import "C_Class.h" // included in the .h file
// then in the .mm file
- (void)working_function{
.... some working code ......
do_something();
}
Проблема в том, что я получаю эту ошибку:
-[MyDotMMfile working_function] in MyDotMMfile.o
Symbol(s) not found
Collect2:ld returned 1 exit status
На этот вопрос ответили в другом месте, но ответ, похоже, не имеет отношения к моей ситуации. Я работаю в XCode и прекратил работу моего приложения, перестроил его и все еще получаю ту же ошибку. Поскольку я новичок в программировании, у меня есть ощущение, что это связано с тем, как я вызываю свои функции Си.
Любая помощь?
РЕДАКТИРОВАТЬ 1
Если кто-то чувствует себя таким альтруистичным, он может скачать собственно файлы здесь .