Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > [Objective-C] Проблема при компиляции


Автор: romanTheRoman 4.8.2011, 04:13
Здравствуйте!

Захотелось написать что-то на Objective-C, написал вот такое:
Код

@interface Rectangle {
  int height;
  int width;
}
- (void) setHeight: (int) h;
- (void) setWidth: (int) w;
- (int) getHeight;
- (int) getWidth;
@end

@implementation Rectangle 
- (void) setHeight: (int) h {
  height = h;
}

- (void) setWidth: (int) w {
  width = w;
}

- (int) getHeight {
  return height;
}

- (int) getWidth {
  return width;
}
@end

int main() {
  return 0;
}


Компилирую, получаю ошибку: 
Код

roman@roman-pc:~/objcproj$ gcc main.m
/tmp/ccF4rkLe.o: In function `__objc_gnu_init':
main.m:(.text+0x73): undefined reference to `__objc_exec_class'
collect2: ld returned 1 exit status


Что делать?

PS. Где взять Foundation framework?

Автор: k0rvin 5.8.2011, 18:36
а разве ObjC-код нужно компилировать просто gcc? посмотрите в пакетах своего дистрибутива, какой пакет добавляет поддержку ObjC для gcc и какие файлы он при этом создает в *bin-каталогах, может там есть более другая команда? (я просто никогда не пробовал компилить ObjC с помощью gcc =) )

если же у Вас Mac OS X, то проще сразу взять Xcode.

P.S. Foundation Framework есть в стандартной поставке Mac OS X, насколько я знаю

Автор: romanTheRoman 7.8.2011, 02:24
У меня Убунту. Перерыл инет, не мог нигде скачать, есть ссылки, но они битые. Было бы круто, если бы кто-то поделился.

Вот так скомпилировало:
Код

gcc -c main.m


PS. Чем еще компилируют Obj-C?

Автор: k0rvin 13.8.2011, 20:57
там для gcc нужно установить пакет поддержки objective c, ищи в пакетном менеджере

http://itmages.ru/image/view/256446/cd393805

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)