最近在windows平台编译ActiveMQ的时候,一直卡在编译apr运行库的步骤上,反复提示缺少“apr_escape_test_char.h”头文件。在网上查了很多资料,要么是官方直接给出了apr_escape_test_char.h的内容,要么是第三方提供了apr_escape_test_char.h文件,就是没人能解释这个文件是从哪来的。
一阵没头苍蝇乱撞,我居然在一台电脑上莫名其妙倒腾出来了这个文件,也不知道是怎么就生成的。我apr_escape_test_char.h文件第一行里看到了一段注释:
this file is automatically generated by gen_test_char, do not edit. "make include/private/apr_escape_test_char.h" to regenerate.
这个文件是通过gen_test_char自动生成的,无需编辑。
然后在apr、apr-iconv、apr-util三个目录里一搜,终于发现了如何生成这个头文件。
生成工具在apr/tools这个目录里,这个目录只有一个文件“gen_test_char.c”。然后我在apr解决方案里,新建了一个工程,把这个源文件添加进来,然后编译生成,产生了gen_test_char.exe可执行文件。
然后命令行执行生成的可执行文件
原来在这!
命令行:tools > apr_escape_test_char.h
折腾了那么久的文件,终于给弄出来了!
把生成的apr_escape_test_char.h复制到apr/include目录下,再次编译apache库,完美!