#c #compilation #bulletphysics
#c #Сборник #bulletphysics
Вопрос:
Почему я не могу скомпилировать программу, использующую физику пули?
configure.ac:
PKG_CHECK_MODULES([bullet],[bullet])
src/Makefile.am:
myapp_CFLAGS = ... ${bullet_CFLAGS}
myapp_LDADD = ... ${bullet_LIBS}
Попытка скомпилировать ее выдает следующую ошибку:
$ LC_ALL=C make
make all-recursive
make[1]: Entering directory '/home/me/Utveckling/myapp'
Making all in src
make[2]: Entering directory '/home/me/Utveckling/myapp/src'
depbase=`echo engine/PhysEngine.o | sed 's|[^/]*$|.deps/amp;|;s|.o$||'`;
g -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT engine/PhysEngine.o -MD -MP -MF $depbase.Tpo -c -o engine/PhysEngine.o engine/PhysEngine.cpp amp;amp;
mv -f $depbase.Tpo $depbase.Po
In file included from engine/PhysEngine.h:4:0,
from engine/PhysEngine.cpp:1:
/usr/include/bullet/BulletCollision/btBulletCollisionCommon.h:22:64: fatal error: BulletCollision/CollisionDispatch/btCollisionWorld.h: No such file or directory
#include "BulletCollision/CollisionDispatch/btCollisionWorld.h"
^
compilation terminated.
Makefile:479: recipe for target 'engine/PhysEngine.o' failed
make[2]: *** [engine/PhysEngine.o] Error 1
make[2]: Leaving directory '/home/me/Utveckling/myapp/src'
Makefile:364: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/me/Utveckling/myapp'
Makefile:305: recipe for target 'all' failed
make: *** [all] Error 2
Я установил пакет Ubuntu libbullet-dev, и файлы существуют в файловой системе.
Ответ №1:
Нашел решение сам.
Вместо
myapp_CFLAGS = ... ${bullet_CFLAGS}
Я должен использовать
myapp_CPPFLAGS = ... ${bullet_CFLAGS}