I've got a Mac/Cocoa static library project.  It links against 
IOKit.framework.  It builds fine.

I take the .a and header and import them into a Mac/Cocoa project.

I get the following linker errors:

Undefined symbols:
  "_IORegistryEntryCreateCFProperty", referenced from:
      +[MyLibrary getThingamajigFromIORegistry] in libMyLibrary.a(MyLibrary.o)
  "_kIOMasterPortDefault", referenced from:
      _kIOMasterPortDefault$non_lazy_ptr in libMyLibrary.a(MyLibrary.o)
     (maybe you meant: _kIOMasterPortDefault$non_lazy_ptr)
  "_IOObjectRelease", referenced from:
      +[MyLibrary getThingamajigFromIORegistry] in libMyLibrary.a(MyLibrary.o)
  "_IORegistryEntryFromPath", referenced from:
      +[MyLibrary getThingamajigFromIORegistry] in libMyLibrary.a(MyLibrary.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status


Adding IOKit.framework to the **application** project resolves the problem 
(obviously), but how can I set everything up so that references to other Apple 
frameworks which are internal to my static library and linked into the static 
library... are honored by the linker when building application projects which 
link against that static library?

I know the difference between static and dynamic libraries, but aren't the 
internally linked libraries (whether dynamic or static) which a static library 
references within its own code saved in the library archive (the references I 
mean) in a way that ld can understand when that .a library is then linked into 
some other project?
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to