Libace相关的clang构建错误`提供的参数很少为功能型宏调用`
libACE related clang build error `too few arguments provided to function-like macro invocation`
``
dep/acelite/ace/Reactor_Impl.h:83:63: error: too few arguments provided to function-like macro invocation
virtual int dispatch_notify (ACE_Notification_Buffer &buffer) = 0;
^
/usr/include/dispatch/object.h:454:9: note: macro 'dispatch_notify' defined here
#define dispatch_notify(object, queue, notification_block)
^
````
OS:MacOS 10.12.2
Clang:Apple LLVM版本8.0.0(Clang-800.0.42.1)
ACE版本:6.4.2
socket.h
#include <ace/Svc_Handler.h>
cmakelists.txt
set(ace_STAT_SRCS
ACE.cpp
ACE_crc32.cpp
ACE_crc_ccitt.cpp
ace_wchar.cpp
Activation_Queue.cpp
Active_Map_Manager.cpp
Addr.cpp
Argv_Type_Converter.cpp
Assert.cpp
Asynch_IO.cpp
Asynch_IO_Impl.cpp
Asynch_Pseudo_Task.cpp
ATM_Acceptor.cpp
ATM_Addr.cpp
ATM_Connector.cpp
ATM_Params.cpp
ATM_QoS.cpp
ATM_Stream.cpp
Atomic_Op.cpp
Atomic_Op_Sparc.c
Barrier.cpp
Base_Thread_Adapter.cpp
Based_Pointer_Repository.cpp
Basic_Stats.cpp
Basic_Types.cpp
Capabilities.cpp
CDR_Base.cpp
CDR_Size.cpp
CDR_Stream.cpp
Cleanup.cpp
Codecs.cpp
Codeset_IBM1047.cpp
Codeset_Registry.cpp
Codeset_Registry_db.cpp
Condition_Attributes.cpp
Condition_Recursive_Thread_Mutex.cpp
Condition_Thread_Mutex.cpp
Configuration.cpp
Configuration_Import_Export.cpp
Connection_Recycling_Strategy.cpp
Containers.cpp
Copy_Disabled.cpp
Date_Time.cpp
DEV.cpp
DEV_Addr.cpp
DEV_Connector.cpp
DEV_IO.cpp
Dev_Poll_Reactor.cpp
Dirent.cpp
Dirent_Selector.cpp
DLL.cpp
DLL_Manager.cpp
Dump.cpp
Dynamic.cpp
Dynamic_Message_Strategy.cpp
Dynamic_Service_Base.cpp
Dynamic_Service_Dependency.cpp
Encoding_Converter.cpp
Encoding_Converter_Factory.cpp
Event_Base.cpp
Event_Handler.cpp
Event_Handler_Handle_Timeout_Upcall.cpp
FIFO.cpp
FIFO_Recv.cpp
FIFO_Recv_Msg.cpp
FIFO_Send.cpp
FIFO_Send_Msg.cpp
FILE.cpp
FILE_Addr.cpp
FILE_Connector.cpp
FILE_IO.cpp
File_Lock.cpp
Filecache.cpp
Flag_Manip.cpp
Framework_Component.cpp
Functor.cpp
Functor_String.cpp
Get_Opt.cpp
Handle_Ops.cpp
Handle_Set.cpp
Hashable.cpp
High_Res_Timer.cpp
ICMP_Socket.cpp
INET_Addr.cpp
Init_ACE.cpp
IO_Cntl_Msg.cpp
IO_SAP.cpp
IOStream.cpp
IPC_SAP.cpp
Lib_Find.cpp
Local_Memory_Pool.cpp
Local_Name_Space.cpp
Local_Tokens.cpp
Lock.cpp
Log_Category.cpp
Log_Msg.cpp
Log_Msg_Backend.cpp
Log_Msg_Callback.cpp
Log_Msg_IPC.cpp
Log_Msg_NT_Event_Log.cpp
Log_Msg_UNIX_Syslog.cpp
Log_Record.cpp
Logging_Strategy.cpp
LSOCK.cpp
LSOCK_Acceptor.cpp
LSOCK_CODgram.cpp
LSOCK_Connector.cpp
LSOCK_Dgram.cpp
LSOCK_Stream.cpp
Malloc.cpp
Malloc_Allocator.cpp
MEM_Acceptor.cpp
MEM_Addr.cpp
MEM_Connector.cpp
MEM_IO.cpp
Mem_Map.cpp
MEM_SAP.cpp
MEM_Stream.cpp
Message_Block.cpp
Message_Queue.cpp
Message_Queue_NT.cpp
Message_Queue_Vx.cpp
Method_Request.cpp
MMAP_Memory_Pool.cpp
Monitor_Admin.cpp
Monitor_Admin_Manager.cpp
Monitor_Base.cpp
Monitor_Control_Action.cpp
Monitor_Control_Types.cpp
Monitor_Point_Registry.cpp
Monitor_Size.cpp
Monotonic_Time_Policy.cpp
Msg_WFMO_Reactor.cpp
Multihomed_INET_Addr.cpp
Mutex.cpp
Name_Proxy.cpp
Name_Request_Reply.cpp
Name_Space.cpp
Naming_Context.cpp
Netlink_Addr.cpp
Notification_Queue.cpp
Notification_Strategy.cpp
NT_Service.cpp
Obchunk.cpp
Object_Manager.cpp
Object_Manager_Base.cpp
Obstack.cpp
OS_Errno.cpp
OS_Log_Msg_Attributes.cpp
OS_main.cpp
OS_NS_arpa_inet.cpp
OS_NS_ctype.cpp
OS_NS_dirent.cpp
OS_NS_dlfcn.cpp
OS_NS_errno.cpp
OS_NS_fcntl.cpp
OS_NS_math.cpp
OS_NS_netdb.cpp
OS_NS_poll.cpp
OS_NS_pwd.cpp
OS_NS_regex.cpp
OS_NS_signal.cpp
OS_NS_stdio.cpp
OS_NS_stdlib.cpp
OS_NS_string.cpp
OS_NS_strings.cpp
OS_NS_stropts.cpp
OS_NS_sys_mman.cpp
OS_NS_sys_msg.cpp
OS_NS_sys_resource.cpp
OS_NS_sys_select.cpp
OS_NS_sys_sendfile.cpp
OS_NS_sys_shm.cpp
OS_NS_sys_socket.cpp
OS_NS_sys_stat.cpp
OS_NS_sys_time.cpp
OS_NS_sys_uio.cpp
OS_NS_sys_utsname.cpp
OS_NS_sys_wait.cpp
OS_NS_Thread.cpp
OS_NS_time.cpp
OS_NS_unistd.cpp
OS_NS_wchar.cpp
OS_NS_wctype.cpp
OS_QoS.cpp
OS_Thread_Adapter.cpp
OS_TLI.cpp
Pagefile_Memory_Pool.cpp
Parse_Node.cpp
PI_Malloc.cpp
Ping_Socket.cpp
Pipe.cpp
POSIX_Asynch_IO.cpp
POSIX_CB_Proactor.cpp
POSIX_Proactor.cpp
Priority_Reactor.cpp
Proactor.cpp
Proactor_Impl.cpp
Process.cpp
Process_Manager.cpp
Process_Mutex.cpp
Process_Semaphore.cpp
Profile_Timer.cpp
Reactor.cpp
Reactor_Impl.cpp
Reactor_Notification_Strategy.cpp
Reactor_Timer_Interface.cpp
Read_Buffer.cpp
Recursive_Thread_Mutex.cpp
Recyclable.cpp
Registry.cpp
Registry_Name_Space.cpp
Remote_Name_Space.cpp
Remote_Tokens.cpp
Rtems_init.c
RW_Mutex.cpp
RW_Process_Mutex.cpp
RW_Thread_Mutex.cpp
Sample_History.cpp
Sbrk_Memory_Pool.cpp
Sched_Params.cpp
Select_Reactor_Base.cpp
Semaphore.cpp
Service_Config.cpp
Service_Gestalt.cpp
Service_Manager.cpp
Service_Object.cpp
Service_Repository.cpp
Service_Types.cpp
Shared_Memory.cpp
Shared_Memory_MM.cpp
Shared_Memory_Pool.cpp
Shared_Memory_SV.cpp
Shared_Object.cpp
Sig_Adapter.cpp
Sig_Handler.cpp
Signal.cpp
SOCK.cpp
SOCK_Acceptor.cpp
SOCK_CODgram.cpp
Sock_Connect.cpp
SOCK_Connector.cpp
SOCK_Dgram.cpp
SOCK_Dgram_Bcast.cpp
SOCK_Dgram_Mcast.cpp
SOCK_IO.cpp
SOCK_Netlink.cpp
SOCK_SEQPACK_Acceptor.cpp
SOCK_SEQPACK_Association.cpp
SOCK_SEQPACK_Connector.cpp
SOCK_Stream.cpp
SPIPE.cpp
SPIPE_Acceptor.cpp
SPIPE_Addr.cpp
SPIPE_Connector.cpp
SPIPE_Stream.cpp
SString.cpp
Stack_Trace.cpp
Stats.cpp
String_Base_Const.cpp
SUN_Proactor.cpp
SV_Message.cpp
SV_Message_Queue.cpp
SV_Semaphore_Complex.cpp
SV_Semaphore_Simple.cpp
SV_Shared_Memory.cpp
Svc_Conf_Lexer.cpp
Svc_Conf_y.cpp
Synch_Options.cpp
System_Time.cpp
Task.cpp
Thread.cpp
Thread_Adapter.cpp
Thread_Control.cpp
Thread_Exit.cpp
Thread_Hook.cpp
Thread_Manager.cpp
Thread_Mutex.cpp
Thread_Semaphore.cpp
Throughput_Stats.cpp
Time_Policy.cpp
Time_Value.cpp
Timeprobe.cpp
TLI.cpp
TLI_Acceptor.cpp
TLI_Connector.cpp
TLI_Stream.cpp
Token.cpp
Token_Collection.cpp
Token_Invariants.cpp
Token_Manager.cpp
Token_Request_Reply.cpp
TP_Reactor.cpp
Trace.cpp
TSS_Adapter.cpp
TTY_IO.cpp
UNIX_Addr.cpp
UPIPE_Acceptor.cpp
UPIPE_Connector.cpp
UPIPE_Stream.cpp
UTF16_Encoding_Converter.cpp
UTF32_Encoding_Converter.cpp
UTF8_Encoding_Converter.cpp
UUID.cpp
WFMO_Reactor.cpp
WIN32_Asynch_IO.cpp
WIN32_Proactor.cpp
XML_Svc_Conf.cpp
XTI_ATM_Mcast.cpp
)
include_directories(${CMAKE_SOURCE_DIR}/dep/acelite)
add_definitions(-DACE_BUILD_DLL)
add_library(ace SHARED ${ace_STAT_SRCS})
if (MINGW)
target_link_libraries(ace ws2_32 iphlpapi netapi32 mswsock)
endif()
install(
TARGETS ace
RUNTIME DESTINATION "${BIN_DIR}"
LIBRARY DESTINATION "${LIBS_DIR}"
)
if(WIN32)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${BUILD_TYPE}/ace.pdb" DESTINATION "${BIN_DIR}" CONFIGURATIONS Debug)
endif()
如果任何人都有相同的问题,则可以解决:
#if defined( __APPLE__ )
#undef dispatch_notify
#endif
相关文章:
- 什么时候调用组成单元对象的析构函数
- 对RValue对象调用的LValue ref限定成员函数
- 为什么使用 "this" 指针调用派生成员函数?
- 函数调用中参数的顺序重要吗
- OpenGL - 在抛出"__gnu_cxx::recursive_init_error"实例后终止调用?
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 为什么我的C#代码在调用回C++COM直到Task时会暂停.等待/线程.加入
- 在c++类上调用void函数
- 为什么 std::unique 不调用 std::sort?
- 调用专用模板时出错"no matching function for call to [...]"
- 选择要调用的构造函数
- C++为什么尽管我调用了void函数,它却不起作用
- 构造函数正在调用一个使用当前类类型的函数
- 变量没有改变?通过向量的函数调用
- 没有为自己的结构调用列表推回方法
- 调用'begin(int [n])'没有匹配函数
- 什么时候调用析构函数
- 如何用参数值调用函数(仅在运行时已知)
- std::cout.imbue()多重调用
- Libace相关的clang构建错误`提供的参数很少为功能型宏调用`