Я создал стандартный проект Xcode Objective-C, желая проверить интеграцию с С++. Я переименовал свой файл соответственно в .mm и т. д.
Я создал класс С++ с заголовком .hpp и файлом imp .cpp. это заголовок
class a {
private:
int anInt = 1;
public:
int getAnInt();
};
это бес
#include "PrismMatricies.hpp"
int a::getAnInt() {return anInt;}
в моем файле ViewController.mm я делаю это после импорта заголовка .hpp
a ar;
NSLog(@"Some Log %i", ar.getAnInt());
Код ошибки сборки в Xcode = неопределенный символ: a::getAnInt()
Если я перемещаю определение функции внутри заголовка, как это
class a {
private:
int anInt = 1;
public:
int getAnInt();
};
int a::getAnInt() {return anInt;}
Проект работает
Кто-нибудь может мне объяснить, а то я просто не понимаю