我正在 GNU/Linux 上开发一个 C++ 项目,我正在寻找一种方法来使用 Autotools 测试 IBM Informix 库的存在性和可用性 - 即编辑一个configure.in
. 我没有使用 Autotools 的经验,所以基本上我是从项目的configure.in
et al 中学习的。脚本和复制和更改我觉得需要更改的地方。IOW,我一直在改编configure.in
.
到目前为止,我一直在成功地使用AC_CHECK_LIB
inconfigure.in
来测试某个库是否既存在又可用。但这似乎只适用于具有函数的库,而不是类。即,在测试 Informix 的libifc++.so
库时失败:
AC_CHECK_LIB(ifc++, ITString,
INFORMIX_LIB="-L$INFORMIX_LIB_LOCATION/c++ -lifc++ -L$INFORMIX_LIB_LOCATION -L$INFORMIX_LIB_LOCATION/dmi -L$INFORMIX_LIB_LOCATION/esql -lifdmi -lifsql -lifasf -lifgen -lifos -lifgls -lifglx $INFORMIX_LIB_LOCATION/esql/checkapi.o -lm -ldl -lcrypt -lnsl",
echo "* WARNING: libifc++.so not found!"
INFORMIX_INC=""
INFORMIX_LIB=""
)
我也尝试过使用其他组合,例如ITString::ITString
等。
我没有在 Informix 的 API 中找到“纯”函数(即,在 C++ 类中没有上下文的函数)。所以我希望要么有一种AC_CHECK_LIB
在这种情况下使用的方法,要么有另一个autoconf
/ configure.in
“命令”用于这个特定用途。
提前感谢您的反馈。