私はC++を使ってLinux上で作っているシンプルな3Dゲームのためにいくつかのダイナミックライブラリ(.soファイル)をインクルードしようとしています。これらのダイナミックライブラリは、Bullet物理エンジンを使用するためのライブラリです。automakeとautoconfを使ったダイナミックライブラリを含む
私はautomakeとautoconfをどのように使用するかに関する知識は非常に限られていますので、どんな助けでも大歓迎です。
これらのダイナミックライブラリを含めるには、次のファイルを変更するにはどうすればよいですか?ここで
は私makefile.amです:ここでは
noinst_HEADERS= BaseApplication.h Physics.h GameApplication.h
bin_PROGRAMS= OgreApp
OgreApp_CPPFLAGS= -I$(top_srcdir)
OgreApp_SOURCES= BaseApplication.cpp Physics.cpp GameApplication.cpp
OgreApp_CXXFLAGS= $(OGRE_CFLAGS) $(OIS_CFLAGS)
OgreApp_LDADD= $(OGRE_LIBS) $(OIS_LIBS)
EXTRA_DIST = buildit makeit
AUTOMAKE_OPTIONS = foreign
は私configure.acです:
AC_INIT(configure.ac)
AM_INIT_AUTOMAKE(SampleApp, 0.1)
AM_CONFIG_HEADER(config.h)
AC_LANG_CPLUSPLUS
AC_PROG_CXX
AM_PROG_LIBTOOL
PKG_CHECK_MODULES(OGRE, [OGRE >= 1.2])
AC_SUBST(OGRE_CFLAGS)
AC_SUBST(OGRE_LIBS)
PKG_CHECK_MODULES(OIS, [OIS >= 1.0])
AC_SUBST(OIS_CFLAGS)
AC_SUBST(OIS_LIBS)
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
私も運動のすべてを設定しbuilditファイルがあります。
#!/bin/sh
rm -rf autom4te.cache
libtoolize --force --copy && aclocal && autoheader && automake --add-missing --force-missing --copy --foreign && autoconf
./configure && ./makeit
あなたのbuilditスクリプトは複雑すぎます。 libtoolize、aclocalなどを明示的に呼び出さないでください。代わりに、単にautoreconf -i –
を呼んでください。あなたのAC_INITの使い方は極端に古いものです。最近のautoconfでは、AC_INITは3つの引数を取るべきです:プロジェクト名、バージョン、接点。どのバージョンのautoconfを使用していますか? –
AM_PROG_LIBTOOLはもう使用しないでください。代わりにLT_INITを使用してください。 –