5
System:Proste Hello World w Objective-C z brzękiem i GNUstep nie kompiluje
64bit Ubuntu Lucid
GNUStep
clang/LLVM
test.m linii poleceń
#import <Foundation/Foundation.h>
int main(int argc, char * argv[]){
NSLog(@"Hello world!\n");
return 0;
}
kompilacji:
clang -fobjc-gc -I /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include -I /usr/include/GNUstep/ -I /usr/lib/gcc/x86_64-linux-gnu/4.4.3/include-fixed/ -L /usr/lib/GNUstep/ -L /usr/lib64/ -fconstant-string-class=NSConstantString -rpath /usr/lib64 -Xlinker -lgnustep-base test.m -o Test
błąd:
/usr/bin/ld: /usr/lib64//libgnustep-base.so: undefined reference to symbol '__objc_exec_class'
/usr/bin/ld: note: '__objc_exec_class' is defined in DSO /usr/lib64/libobjc.so.2 so try adding it to the linker command line
/usr/lib64/libobjc.so.2: could not read symbols: Invalid operation
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Podczas korzystania z GCC kompiluje się dobrze, ale klang nie.
-______________- teraz wyskakuje mi błąd mówiąc '/ usr/bin/ld: nie można odnaleźć -lobjc'. Zainstalowałem wszystkie wymienione elementy już ... – texasbruce
Zaktualizowałem odpowiedź, zobacz moją edycję. –
'/ usr/bin/ld: /tmp/test-2JGYua.o: niezdefiniowane odwołanie do symbolu '__objc_exec_class' /usr/bin/ld: note: '__objc_exec_class' jest zdefiniowany w DSO /usr/lib64/libobjc.so .2 więc spróbuj dodać go do linii poleceń linku /usr/lib64/libobjc.so.2: nie można odczytać symboli: Niepoprawna operacja klang: błąd: komenda linker zakończyła się niepowodzeniem z kodem zakończenia 1 (użyj opcji -v, aby wyświetlić wywołanie) ' – texasbruce