我有一个使用boost_regex
. 该库boost_regex
有一个未定义的符号,其名称与我使用的 boost 版本不同。例如,当我使用 boost 版本 1.49 时,libboost_regex.so
包含一个未定义的符号,称为u_tolower_49
. 这个符号可以在 中找到libicuuc.so
。
显然,如果没有 icu 的用户编译我的程序,链接阶段将失败,因为缺少该符号。所以我决定将它添加到 configure.ac 以便在开始编译之前配置阶段失败。
配置.ac
...
AC_SEARCH_LIBS([u_tolower_49],[icuuc], , AC_MSG_ERROR([Unable to find icuuc, make sure ICU is installed.]))
...
现在我的问题是,当用户的 boost 版本为 48 时,符号不再命名u_tolower_49
,而是u_tolower_48
.
我如何调整 configure.ac 以确保配置失败,而不管用户的 boost 版本如何?