我使用的configure 配置
../configure --prefix=/home/seanwu/project/target/ --host=arm-linux --disable-osx --disable-x11 --enable-multi --disable-mmx --disable-sse --enable-fbdev --disable-sdl --disable-vnc --disable-gif --disable-video4linux --with-inputdrivers=tslib --with-smooth-scaling --enable-jpeg --with-gfxdrivers=none CFLAGS="-I/home/seanwu/project/target/include" LDFLAGS="-L/home/seanwu/project/target/lib" CPPFLAGS="-I/home/seanwu/project/target/include"
依赖关系
zlib, freetype, libpng, libjpeg, tslib
我编译的directfb版本是DirectFb-1.1.1
这个版本依赖的libpng的版本是libpng-1.2.42, 使用最新的libpng-1.4编译会出错
libpng依赖于zlib,所以要先编译zlib,再编译libpng。
在configure libpng时需要指定CFLAGS和LDFLAGS添加zlib所在的目录。否则configure时会报找不到zlib的错误。示例如下
../configure --prefix=/home/seanwu/project/target/ --host=arm-linux CFLAGS="-I$PREFIX/include" LDFLAGS="-L$PREFIX/lib"
在目标机上运行时,程序报错:
Direct/Modules: Could not open module directory '/home/seanwu/project/target//lib/directfb-1.1-0/systems'
需要修改configure文件中的MODULEDIR为目标机上的module dir.
注意这里可能有其他方法修改这个MODULEDIR。使之更灵活一点。