在Windows下编译Freeswitch1.0.7时,编译不过去,发现有很多目标编译失败。仔细一看,发现是一个外部依赖库libpcre编译失败。
pcre是有名的正规表达式库,以前在linux下,按正常的编译三部曲套路都能成功,然道在windows下有什么玄机?报错内容为源文件pcre_chartables.c不存在云云。是我下错源码了吗?
打开\freeswitch-1.0.7\libs\pcre,还真没这个源文件。找了下资料,原来,windows下编译pcre还真得做点附加工作:
1、把config.h.generic重命名为config.h,这是generic配置文件,需要根据具体的环境对预编译做相应修改。
2、把pcre.h.generic重命名为pcre.h
3、把pcre_chartables.c.dist重命名为pcre_chartables.c
在freeswitch工程中,pcre_chartables.c文件路径指向\freeswitch-1.0.7\libs\win32\pcre目录了,改一下,指向\freeswitch-1.0.7\libs\pcre
重新生成,一切顺利。