У меня есть очень маленькая программа в Xcode, отображающая только метку и меняющая текст метки в методе viewWillAppear. label.text должен исходить из библиотеки C++ с такой функцией:
int getNumber(){
return 42;
}
Проблема в том, что включение класса с #import "TestLibMain.h" в мой класс *.mm(!) и использование функции с
TestLibMain *tlb = new TestLibMain();
int myInt = tlb->getNumber();
NSString *myString = [NSString stringWithFormat:@"%d",myInt];
вызывает не ошибку компилятора, а ошибку компоновщика:
Неопределенные символы для архитектуры i386: «TestLibMain::getNumber()», на которые ссылается: -[tbViewController buttonPressed:] в tbViewController.o ld: символ(ы) не найден(ы) для архитектуры i386 clang: ошибка: команда компоновщика завершилась неудачно с кодом выхода 1 (используйте -v, чтобы увидеть вызов)
У меня сложилось впечатление, что cpp-класс не был скомпилирован.
Я много чего перепробовал, но где-то зависает. Это все в том же каталоге, я использую расширение .mm, все нормально, но всегда эта ошибка компоновщика. Сходить с ума :-)
Mac OS X Lion, XCode 4.2
Любые идеи?