为 iOS 构建自适应通信环境 (ACE)

Building the Adaptive Communication Environment (ACE) for iOS

我正在为 iOS 从 Windows/Linux 移植一个大型项目。该应用程序大量利用了 ACE,我们不能轻易丢弃它。我已经将我的构建配置配置为指定 iOS 模拟器,并且我 运行 使用以下命令行参数 make IPHONE_TARGET=SIMULATOR

构建过程一直顺利,直到我认为是链接阶段并失败并出现 "no such file or directory" 错误:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -Wnon-virtual-dtor -mmacosx-version-min=10.6 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -g -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -DACE_HAS_CUSTOM_EXPORT_MACROS=0   -I/Users/droscoe/Documents/workspace/SW_Library/ACE_wrappers -D__ACE_INLINE__ -I.. -DACE_AS_STATIC_LIBS  -c  -o .obj/WFMO_Reactor.o WFMO_Reactor.cpp
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -Wnon-virtual-dtor -mmacosx-version-min=10.6 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -g -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -DACE_HAS_CUSTOM_EXPORT_MACROS=0   -I/Users/droscoe/Documents/workspace/SW_Library/ACE_wrappers -D__ACE_INLINE__ -I.. -DACE_AS_STATIC_LIBS  -c  -o .obj/WIN32_Asynch_IO.o WIN32_Asynch_IO.cpp
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -Wnon-virtual-dtor -mmacosx-version-min=10.6 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -g -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -DACE_HAS_CUSTOM_EXPORT_MACROS=0   -I/Users/droscoe/Documents/workspace/SW_Library/ACE_wrappers -D__ACE_INLINE__ -I.. -DACE_AS_STATIC_LIBS  -c  -o .obj/WIN32_Proactor.o WIN32_Proactor.cpp
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -Wnon-virtual-dtor -mmacosx-version-min=10.6 -arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk -g -fno-strict-aliasing -Wall -W -Wpointer-arith -pipe -DACE_HAS_CUSTOM_EXPORT_MACROS=0   -I/Users/droscoe/Documents/workspace/SW_Library/ACE_wrappers -D__ACE_INLINE__ -I.. -DACE_AS_STATIC_LIBS  -c  -o .obj/XTI_ATM_Mcast.o XTI_ATM_Mcast.cpp
([ "`echo `" != "" ] && echo ; \
    echo .obj/Local_Name_Space.o .obj/Name_Proxy.o .obj/Name_Request_Reply.o .obj/Name_Space.o .obj/Naming_Context.o .obj/Registry_Name_Space.o .obj/Remote_Name_Space.o .obj/NT_Service.o .obj/Codecs.o .obj/Local_Tokens.o .obj/Remote_Tokens.o .obj/Token_Collection.o .obj/Token_Invariants.o .obj/Token_Manager.o .obj/Token_Request_Reply.o .obj/DLL.o .obj/Dynamic_Service_Base.o .obj/Dynamic_Service_Dependency.o .obj/Parse_Node.o .obj/Service_Config.o .obj/Service_Gestalt.o .obj/Service_Manager.o .obj/Service_Object.o .obj/Service_Repository.o .obj/Service_Types.o .obj/Shared_Object.o .obj/Svc_Conf_Lexer.o .obj/Svc_Conf_y.o .obj/Encoding_Converter.o .obj/Encoding_Converter_Factory.o .obj/UTF8_Encoding_Converter.o .obj/UTF16_Encoding_Converter.o .obj/UTF32_Encoding_Converter.o .obj/XML_Svc_Conf.o .obj/UUID.o .obj/Filecache.o .obj/ACE.o .obj/ACE_crc_ccitt.o .obj/ACE_crc32.o .obj/ace_wchar.o .obj/Activation_Queue.o .obj/Active_Map_Manager.o .obj/Addr.o .obj/Argv_Type_Converter.o .obj/Assert.o .obj/Asynch_IO.o .obj/Asynch_IO_Impl.o .obj/Asynch_Pseudo_Task.o .obj/ATM_Acceptor.o .obj/ATM_Addr.o .obj/ATM_Connector.o .obj/ATM_Params.o .obj/ATM_QoS.o .obj/ATM_Stream.o .obj/Atomic_Op.o .obj/Atomic_Op_Sparc.o .obj/Barrier.o .obj/Base_Thread_Adapter.o .obj/Based_Pointer_Repository.o .obj/Basic_Stats.o .obj/Basic_Types.o .obj/Capabilities.o .obj/CDR_Base.o .obj/CDR_Stream.o .obj/CDR_Size.o .obj/Cleanup.o .obj/Codeset_IBM1047.o .obj/Codeset_Registry.o .obj/Codeset_Registry_db.o .obj/Condition_Attributes.o .obj/Condition_Recursive_Thread_Mutex.o .obj/Condition_Thread_Mutex.o .obj/Configuration.o .obj/Configuration_Import_Export.o .obj/Connection_Recycling_Strategy.o .obj/Containers.o .obj/Copy_Disabled.o .obj/Date_Time.o .obj/DEV.o .obj/DEV_Addr.o .obj/DEV_Connector.o .obj/DEV_IO.o .obj/DLL_Manager.o .obj/Dev_Poll_Reactor.o .obj/Dirent.o .obj/Dirent_Selector.o .obj/Dump.o .obj/Dynamic.o .obj/Dynamic_Message_Strategy.o .obj/Event_Base.o .obj/Event_Handler.o .obj/Event_Handler_Handle_Timeout_Upcall.o .obj/FIFO.o .obj/FIFO_Recv.o .obj/FIFO_Recv_Msg.o .obj/FIFO_Send.o .obj/FIFO_Send_Msg.o .obj/FILE.o .obj/FILE_Addr.o .obj/FILE_Connector.o .obj/FILE_IO.o .obj/File_Lock.o .obj/Flag_Manip.o .obj/Framework_Component.o .obj/Functor.o .obj/Functor_String.o .obj/Get_Opt.o .obj/Handle_Ops.o .obj/Handle_Set.o .obj/Hashable.o .obj/High_Res_Timer.o .obj/ICMP_Socket.o .obj/INET_Addr.o .obj/Init_ACE.o .obj/IO_SAP.o .obj/IO_Cntl_Msg.o .obj/IOStream.o .obj/IPC_SAP.o .obj/Lib_Find.o .obj/Local_Memory_Pool.o .obj/Lock.o .obj/Log_Category.o .obj/Log_Msg.o .obj/Log_Msg_Backend.o .obj/Log_Msg_Callback.o .obj/Log_Msg_IPC.o .obj/Log_Msg_NT_Event_Log.o .obj/Log_Msg_UNIX_Syslog.o .obj/Log_Record.o .obj/Logging_Strategy.o .obj/LSOCK.o .obj/LSOCK_Acceptor.o .obj/LSOCK_CODgram.o .obj/LSOCK_Connector.o .obj/LSOCK_Dgram.o .obj/LSOCK_Stream.o .obj/Malloc.o .obj/Malloc_Allocator.o .obj/MEM_Acceptor.o .obj/MEM_Addr.o .obj/MEM_Connector.o .obj/MEM_IO.o .obj/Mem_Map.o .obj/MEM_SAP.o .obj/MEM_Stream.o .obj/Message_Block.o .obj/Message_Queue.o .obj/Message_Queue_NT.o .obj/Message_Queue_Vx.o .obj/Method_Request.o .obj/MMAP_Memory_Pool.o .obj/Msg_WFMO_Reactor.o .obj/Monitor_Admin.o .obj/Monitor_Admin_Manager.o .obj/Monitor_Base.o .obj/Monitor_Point_Registry.o .obj/Monitor_Size.o .obj/Monitor_Control_Types.o .obj/Monitor_Control_Action.o .obj/Monotonic_Time_Policy.o .obj/Multihomed_INET_Addr.o .obj/Mutex.o .obj/Netlink_Addr.o .obj/Notification_Strategy.o .obj/Notification_Queue.o .obj/Obchunk.o .obj/Object_Manager.o .obj/Object_Manager_Base.o .obj/Obstack.o .obj/OS_Errno.o .obj/OS_Log_Msg_Attributes.o .obj/OS_main.o .obj/OS_NS_arpa_inet.o .obj/OS_NS_ctype.o .obj/OS_NS_dirent.o .obj/OS_NS_dlfcn.o .obj/OS_NS_errno.o .obj/OS_NS_fcntl.o .obj/OS_NS_math.o .obj/OS_NS_netdb.o .obj/OS_NS_poll.o .obj/OS_NS_pwd.o .obj/OS_NS_regex.o .obj/OS_NS_signal.o .obj/OS_NS_stdio.o .obj/OS_NS_stdlib.o .obj/OS_NS_string.o .obj/OS_NS_strings.o .obj/OS_NS_stropts.o .obj/OS_NS_sys_mman.o .obj/OS_NS_sys_msg.o .obj/OS_NS_sys_resource.o .obj/OS_NS_sys_select.o .obj/OS_NS_sys_sendfile.o .obj/OS_NS_sys_shm.o .obj/OS_NS_sys_socket.o .obj/OS_NS_sys_stat.o .obj/OS_NS_sys_time.o .obj/OS_NS_sys_uio.o .obj/OS_NS_sys_utsname.o .obj/OS_NS_sys_wait.o .obj/OS_NS_Thread.o .obj/OS_NS_time.o .obj/OS_NS_unistd.o .obj/OS_NS_wchar.o .obj/OS_NS_wctype.o .obj/OS_QoS.o .obj/OS_Thread_Adapter.o .obj/OS_TLI.o .obj/Pagefile_Memory_Pool.o .obj/PI_Malloc.o .obj/Ping_Socket.o .obj/Pipe.o .obj/POSIX_Asynch_IO.o .obj/POSIX_CB_Proactor.o .obj/POSIX_Proactor.o .obj/Priority_Reactor.o .obj/Proactor.o .obj/Proactor_Impl.o .obj/Process.o .obj/Process_Manager.o .obj/Process_Mutex.o .obj/Process_Semaphore.o .obj/Profile_Timer.o .obj/Reactor.o .obj/Reactor_Impl.o .obj/Reactor_Notification_Strategy.o .obj/Reactor_Timer_Interface.o .obj/Read_Buffer.o .obj/Recursive_Thread_Mutex.o .obj/Recyclable.o .obj/Registry.o .obj/Rtems_init.o .obj/RW_Mutex.o .obj/RW_Process_Mutex.o .obj/RW_Thread_Mutex.o .obj/Sample_History.o .obj/Sbrk_Memory_Pool.o .obj/Sched_Params.o .obj/Select_Reactor_Base.o .obj/Semaphore.o .obj/Shared_Memory.o .obj/Shared_Memory_MM.o .obj/Shared_Memory_Pool.o .obj/Shared_Memory_SV.o .obj/Sig_Adapter.o .obj/Sig_Handler.o .obj/Signal.o .obj/SOCK.o .obj/SOCK_Acceptor.o .obj/SOCK_CODgram.o .obj/Sock_Connect.o .obj/SOCK_Connector.o .obj/SOCK_Dgram.o .obj/SOCK_Dgram_Bcast.o .obj/SOCK_Dgram_Mcast.o .obj/SOCK_IO.o .obj/SOCK_Netlink.o .obj/SOCK_SEQPACK_Acceptor.o .obj/SOCK_SEQPACK_Association.o .obj/SOCK_SEQPACK_Connector.o .obj/SOCK_Stream.o .obj/SPIPE.o .obj/SPIPE_Acceptor.o .obj/SPIPE_Addr.o .obj/SPIPE_Connector.o .obj/SPIPE_Stream.o .obj/SString.o .obj/Stack_Trace.o .obj/Stats.o .obj/String_Base_Const.o .obj/SUN_Proactor.o .obj/SV_Message.o .obj/SV_Message_Queue.o .obj/SV_Semaphore_Complex.o .obj/SV_Semaphore_Simple.o .obj/SV_Shared_Memory.o .obj/Synch_Options.o .obj/System_Time.o .obj/Task.o .obj/Thread.o .obj/Thread_Adapter.o .obj/Thread_Control.o .obj/Thread_Exit.o .obj/Thread_Hook.o .obj/Thread_Manager.o .obj/Thread_Mutex.o .obj/Thread_Semaphore.o .obj/Throughput_Stats.o .obj/Time_Policy.o .obj/Time_Value.o .obj/Timeprobe.o .obj/TLI.o .obj/TLI_Acceptor.o .obj/TLI_Connector.o .obj/TLI_Stream.o .obj/Token.o .obj/TP_Reactor.o .obj/Trace.o .obj/TSS_Adapter.o .obj/TTY_IO.o .obj/UNIX_Addr.o .obj/UPIPE_Acceptor.o .obj/UPIPE_Connector.o .obj/UPIPE_Stream.o .obj/WFMO_Reactor.o .obj/WIN32_Asynch_IO.o .obj/WIN32_Proactor.o .obj/XTI_ATM_Mcast.o) | xargs /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ar rv libACE.a 
xargs: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ar: No such file or directory
make[1]: *** [libACE.a] Error 127
make: *** [ACE] Error 2

在此步骤之前没有错误。有没有人获得 ACE 以成功构建 iOS?

这是一个工具安装问题,不是 ACE 中的问题。请检查您的编译器工具链的安装,它应该包含 ar 实用程序。