私は GNU/Linux で C++ プロジェクトに取り組んでおり、Autotools を使用して IBM Informix のライブラリの存在と使いやすさをテストする方法、つまりconfigure.in
. 私は Autotools の経験がないので、基本的にはプロジェクトのconfigure.in
et al. から拾っています。スクリプトと、変更が必要だと感じる場所のコピーと変更。IOW、私は の既存のテキストから適応してきましたconfigure.in
。
これまでのところ、特定のライブラリが存在し、使用可能かどうかをテストするためAC_CHECK_LIB
に inをうまく使用してきました。configure.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
「コマンド」があることを願っています。
フィードバックをお寄せいただきありがとうございます。