GCC dice:Per -lobjc o non per -lobjc?
file.m
Objective-C source code. Note that you must link with the
libobjc
library yo make an Objective-C program work.
E:
-lobjc
You need this special case of the
-l
option in order to link an
Objective-C or Objective-C++ program.
Tuttavia, posso con successo compilare un p rogramma con semplicemente:
$ cc prg.m -framework Foundation
È un default del linker, quando si include un framework? In tal caso, dove è documentato ? Il programma è linkato in ogni caso:
$ otool -L a.out
a.out:
/System/Library/Frameworks/Foundation.framework/.../Foundation (...)
/usr/lib/libSystem.B.dylib (...)
--> /usr/lib/libobjc.A.dylib (...)
/System/Library/Frameworks/CoreFoundation.f...k/.../CoreFoundation (...)
hai provato a compilarlo su sistemi Linux? potrebbe essere che os x lo faccia di default. – Eimantas
Buona presa, non ho provato. Ma anche il manuale stesso viene modificato, con note "Solo Apple" in molti posti. Quindi mi chiedo (nel caso questo sia esclusivo per i sistemi Apple) perché non è esplicitamente documentato vicino a queste parti. – sidyll
Sì, è un default del linker per i compilatori Apple. Non sono sempre aggiornati nelle loro pagine man. Si prega di presentare una segnalazione di bug. – Yuji