小结:上面两种方法一个需要修改Makefile.am、一个需要修改头文件,可以根据个人喜好来决定怎么做。
3. 更多关于ax_lib_mysql.m4的使用
常见的configure写法
有了上面的设置,程序就可以通过如下的方式来确定是否将MySQL客户端的支持编译到源代码中:
如果对最低版本有要求
另外,如果你对MySQL版本有要求,例如,你希望只有检测到5.5以上的MySQL客户端,才编译对MySQL的支持,则可以在configure.ac中这样使用AX_LIB_MYSQL:
AX_LIB_MYSQL(5.5.18)
修改--with-mysql的默认行为
这里意思是说,如果在configure中没有--with-mysql选项时,则编译时不加上对MySQL的支持(如果写了),也就是说如下两种写法意思相同:
ax_lib_mysql.m4的默认行为并非如此,需要对其代码做小小的修改:
这样就如愿了。
4. 更一般的DEBUG选项
其实使用Autoconf这种用法更一般的是开启或者关闭DEBUG选项。这个实现会比上面简单很多。
目标:编译时,根据configure参数(如果有--enable-debug),则执行程序中#ifdef DEBUG ... #endif。(经常看到这样的写法吧)
相比上面的--with-mysql这个就简单多了(没有版本信息、不需要找mysql_config等),所以实现也简单多了,只需在你的configure.ac中新增如下代码:










