搭了个cygwin尝试移植原有项目的代码,工程依赖ace ,于是下了ace 按帮助编译通过,在lib生成的libACE.a和libACE.dll ,没搞懂为啥不是so 而是 dll 。。顺势编译了原有项目工程,却提示错误 ACE_Asynch_Write_Stream has not been declare , 费解半天之后又用该目录建了个vs工程编,却没有错误。
查找 ACE_Asynch_Write_Stream 的定义,发现 ace 在定义Asynch_IO的时候需要 ACE_HAS_WIN32_OVERLAPPED_IO 或是 ACE_HAS_AIO_CALLS 的宏
ACE帮助如下:
而config-cygwin32.h 里却没有这两个宏的定义,猜测是因为 cygwin环境没有办法分配需要的通讯用到的系统io
如此这般 如果工程中需要 Asynch_IO ,Asynch_Acceptor,Asynch_Connector 在 cygwin环境下想要编译通过似乎是没戏了