저는 C++을 사용하여 Linux에서 만들고있는 간단한 3D 게임을위한 동적 라이브러리 (.so 파일)를 포함하려고합니다. 이 동적 라이브러리는 Bullet 물리 엔진을 사용하기위한 것입니다.automake 및 autoconf를 사용하는 동적 라이브러리 포함
필자는 automake 및 autoconf를 사용하는 방법에 대한 지식이 매우 부족하여 도움이 될만한 정보를 많이 얻었습니다.
이러한 동적 라이브러리를 포함하도록 다음 파일을 수정하려면 어떻게해야합니까?
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을 사용하십시오. –