我决定使用 libosip2-4.0.0 和 libeXosip2-4.0.0
我做到了;
1.安装pthreads-w32-2-9-1-release.tar.gz
$ 清理 GC
- 并复制到 c:\develop\pthreads-w32
2.在MSYS中用MinGW32编译libosip2-4.0.0
$ ./configure LDFLAGS="-L/c/develop/pthreads-w32" CPPFLAGS="-I/c/develop/pthreads-w32" LIBS="-lpthreadGC2"
- 修改 include/osip2/internal.h:在顶部附加“#define HAVE_PTHREAD_WIN32”
- 修改 src/osip2/osip_time.c : 像这样..
#elif !defined(__PALMOS__) && 定义(WIN32)
……
静态 int _osip_gettimeofday_realtime (struct timeval *tp, void *tz)
{
返回 gettimeofday(tp, tz);
}
$ 制作 && 制作安装
3.在MSYS中用MinGW32编译libeXosip2-4.0.0
$ ./configure LDFLAGS="-L/c/develop/pthreads-w32" CPPFLAGS="-I/c/develop/pthreads-w32" LIBS="-lpthreadGC2"
- 修改 src/eXtl_tcp.c : 参考 http://www.utterspeech.com/article/random-fixes/1
#ifdef WIN32
-#include <Mstcpip.h>
+/* MinGW 修复:替换 Mstcpip.h */
+
+struct tcp_keepalive {
+ 超长开关;
+ 超长保活时间;
+ 超长保活间隔;
+};
+
+#define SIO_KEEPALIVE_VALS _WSAIOW(IOC_VENDOR,4)
+
#万一
- 修改 src/eXtl_tcp.c : 参考 http://www.utterspeech.com/article/random-fixes/1
#ifdef WIN32
-#include <Mstcpip.h>
+/* MinGW 修复:#include <Mstcpip.h>*/
#include <wincrypt.h>
#万一
$ 制作 && 制作安装