LINUX.ORG.RU

Objective-C, Linux Fedora, GNUstep - сейчас себе голову сломаю


0

1

Есть семнадцатая федора. Захотел я попробовать Objective-C. Поставил компилятор gobjc, написал исходник

#import <Foundation/Foundation.h>

int main (int argc, const char * argv[])
{
        NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

        NSLog (@"hello world");
        [pool drain];
        return 0;
}

Затем попробовал в командной строке

gcc main.m -lobjc
и мне выдало
cannot find interface declaration for ‘NXConstantString’
Хорошо, не страшно, пробую дальше.

Ставлю OPENstep как написано здесь http://www.techotopia.com/index.php/Installing_and_Using_GNUstep_and_Objectiv...

Затем пробую в командной строке

gcc `gnustep-config --objc-flags` -lgnustep-base main.m

Выдаёт

/usr/bin/ld: /usr/lib/gcc/i686-redhat-linux/4.7.2/../../../libgnustep-base.so: undefined reference to symbol 'objc_msg_lookup'
/usr/bin/ld: note: 'objc_msg_lookup' is defined in DSO /lib/libobjc.so.4 so try adding it to the linker command line
/lib/libobjc.so.4: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status

Как скомпилировать?



Последнее исправление: post-factum (всего исправлений: 2)

Ответ на: комментарий от anonymous

Позор мне и спасибо тебе)) Заработало) В смысле вот это заработало: gcc `gnustep-config --objc-flags` -lgnustep-base main.m -lobjc

Правда не встречал такой конструкции когда гуглил решение своей проблемы.

ArtMenza
() автор топика
Ответ на: комментарий от ArtMenza

Линкер же сам подсказал :) см. выхлоп

anonymous
()

А GNUStep это как стандартная библиотека, там есть хеши, списки и т.д. Или только графический фреймворк? На википедии нет, а мне лень разбираться.

snuker
()

Use LORCODE, Luke, чтобы за тобой форматирование не подправлять.

post-factum ★★★★★
()
Последнее исправление: post-factum (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.