LINUX.ORG.RU

[gentoo] [objc] Hello world.

 


0

1

Имеется main.m содержания:

#import <Foundation/Foundation.h>

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

	NSLog (@"hello world");

	[pool drain];
	return 0;
}

проблема в сборке (линковке если точнее).

$/tmp/objc>make                                                            6:10
cc `gnustep-config --objc-flags` -c main.m -o main.o
cc `gnustep-config --objc-libs` -lgnustep-base main.o -o run
main.o: In function `main':
main.m:(.text+0x15): undefined reference to `objc_get_class'
main.m:(.text+0x23): undefined reference to `objc_msg_lookup'
main.m:(.text+0x40): undefined reference to `objc_msg_lookup'
main.m:(.text+0x60): undefined reference to `NSLog'
main.m:(.text+0x6b): undefined reference to `objc_msg_lookup'
main.o: In function `__objc_gnu_init':
main.m:(.text+0x88): undefined reference to `__objc_exec_class'
main.o:(.data.rel+0x0): undefined reference to `__objc_class_name_NSAutoreleasePool'
main.o:(.data.rel+0x8): undefined reference to `__objc_class_name_NSConstantString'
collect2: выполнение ld завершилось с кодом возврата 1
make: *** [all] Ошибка 1
Кто программирует/собирал obj-c под линуксом - подскажите. Хочется потыкать Obj-C :)


Таки собирается. Нужно явно указывать все:

clang -I/usr/GNUstep/System/Library/Headers -L/usr/GNUstep/System/Library/Libraries/ -lgnustep-base -fconstant-string-class=NSConstantString main.m -o run
Почему то на
clang `gnustep-config --objc-flags` `gnustep-config --objc-libs` -lgnustep-base main.m -o run" # ругается 
error: unknown target CPU 'amdfam10'

gordio
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.