我正在尝试将我的mac应用程序链接到精彩的
libancillary库.但是,我更改了库构建脚本以创建共享库.我可以使用nm libancillary.dylib检查此库中的符号 – 结果是:
libancillary.dylib(single module): U ___sF U __keymgr_get_and_lock_processwide_ptr U __keymgr_get_and_lock_processwide_ptr_2 U __keymgr_set_and_unlock_processwide_ptr U _abort 00002cfe T _ancil_recv_fd 00002c87 T _ancil_recv_fds 00002b6a T _ancil_recv_fds_with_buffer 00002e9e T _ancil_send_fd 00002e27 T _ancil_send_fds 00002d3f T _ancil_send_fds_with_buffer U _calloc U _dlopen U _dlsym U _fflush U _fprintf U _free U _malloc U _recvmsg U _sendmsg
g++ -headerpad_max_install_names -framework AppKit -framework Cocoa -framework IOKit -framework CoreFoundation -framework Carbon -framework OpenGL -framework SystemConfiguration -framework Security -Wl,-bind_at_load -arch i386 -o MyApp build/app.o build/client.o build/util.o -F/Library/Frameworks -L/Library/Frameworks -L../ancillary -lancillary Undefined symbols: "ancil_recv_fd(int,int*)",referenced from: CIPCUnixUtils::readFD(int,int&) constin utils.o "ancil_send_fd(int,int)",referenced from: CIPCUnixUtils::writeFD(int,int) constin utils.o ld: symbol(s) not found collect2: ld returned 1 exit status make: *** [ABClient] Error 1