【发布时间】:2010-11-04 13:13:34
【问题描述】:
我正在 GNU/Linux 上开发一个 C++ 项目,我正在寻找一种方法来测试 IBM Informix 库的存在性和可用性与 Autotools - 即编辑 configure.in。我没有使用 Autotools 的经验,所以基本上我是从项目的 configure.inet al. 脚本中学习并复制和更改我认为需要更改的地方。 IOW,我一直在改编configure.in 中的现有文本。
到目前为止,我已经成功地使用了configure.in 中的AC_CHECK_LIB 来测试某个库是否既存在又可用。但这似乎只适用于具有 functions 的库,而不是例如类。即,在测试 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“命令”用于这种特定用途。
提前感谢您的反馈。
【问题讨论】:
标签: c++ autotools configure usability autoconf