GCC instrukcja mówi:Do -lobjc lub nie do -lobjc?
file.m
Objective-C source code. Note that you must link with the
libobjc
library yo make an Objective-C program work.
oraz:
-lobjc
You need this special case of the
-l
option in order to link an
Objective-C or Objective-C++ program.
Jednakże, można z powodzeniem sporządzenie str rogram z prostym:
$ cc prg.m -framework Foundation
Czy to jest linker domyślny, gdy dołączasz framework? Jeśli tak, to gdzie jest to udokumentowane? Program pobiera związany i tak:
$ 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 (...)
Czy próbowałeś skompilować to na systemach Linux? może być tak, że os x robi to domyślnie. – Eimantas
Dobry połów, nie próbowałem. Ale nawet sam podręcznik jest modyfikowany, z notatkami "Apple Only" w wielu miejscach. Zastanawiam się (w przypadku, gdy dotyczy to wyłącznie systemów Apple), dlaczego nie jest to wyraźnie udokumentowane w pobliżu tych części. – sidyll
Tak, jest to domyślny linker dla kompilatorów Apple. Nie zawsze są aktualne na swoich stronach man. Proszę złożyć raport o błędzie. – Yuji