logo资料库

SDL2及其扩展库交叉编译移植.docx

第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
资料共5页,全文预览结束
// 指定 ip 后,再插入网线,就不能自动获取 IP //压缩文件 //解压到其上级目录 //解压到当前目录 /****************************************************************************** ******************************************************************************* **********/ 一些常用指令 1: ifconfig eth0 192.168.168.1 了 2: zip -r 文件名.zip 文件名 3: unzip 文件名.zip 文件名 -d / 4: unzip 文件名.zip 文件名 5: cp -rf * /目录 6:reboot 7: arm-linux-g++(gcc) test.cpp -o test -I/opt/arm/include/SDL -L/opt/arm/lib -lstdc++ -lpthread -lSDL -lSDL_gfx -lSDL_image 8: rm -rf test /****************************************************************************** ******************************************************************************* *********/ linux 下应用程序开机启动方法 1:cd /root 2:ls -sail //显示隐藏文件 3:修改.bashrc //拷贝当前目录下的所有文件到目录下 //重新开机 //交叉编译成板子上的可执行文件 //删除文件夹 vi .bashrc(i 插入) export DISPLAY=:0 &&app & 4:把应用程序放在/usr/local/bin 下 /****************************************************************************** ******************************************************************************* *********/ 修改环境变量 1:cd /etc 2: 修改 profile vi profile(i 插入) export DFBARGS=module-dir=/lib/directfb-1.2-0 3:按 esc,:wq 保存 /****************************************************************************** ******************************************************************************* ********/ libpng 交叉编译 --target=arm --prefix=/opt/arm1 1 : ./configure --disable-x11 --enable-debug --libdir=/opt/arm1/lib --disable-voodoo --disable-mmx disable-see --enable-sdl --enable-jpeg --disable-zlib --disable-png --disable-gif --enable-freetype --disable-video4linux --disable-video4linux2 --with-gfxdrivers=none --with-inputdrivers=none /****************************************************************************** ******************************************************************************* --include=/opt/arm1/include --build=i386-linux --host=arm-linux
--disable-video4linux --disable-video4linux2 *********/ libz/jpegsrc 交叉编译 1:./configure --host=arm-linux --prefix=/opt/arm1 /****************************************************************************** ******************************************************************************* *********/ directfb 交叉编译 1:./configure --host=arm-linux --prefix=/opt/arm1/ --disable-x11 --enable-debug -disable-voodoo -disable-mmx --disable-see --enable-sdl --enable-jpeg --disable-zlib --disable-png --disable-gif --enable-freetype --with-gfxdrivers=none --with-inputdrivers=linuxinput /****************************************************************************** ******************************************************************************* *********/ SDL 交叉编译 ./configure --disable-video-dummy --enable-input-tslib --enable-pulseaudio=no --build=i386 --enable-video-directfb /****************************************************************************** ******************************************************************************* *********/ /****************************************************************************** ******************************************************************************* *********/ SDL 鍙婂叾鎵╁睍搴撲氦鍙夌紪璇戠Щ妞嶅埌 arm linux 棣栧厛瑕佸湪/opt 涓嬪缓绔嬫枃浠跺す mkdir arm 鎺ョ潃灏嗗畨瑁呭寘瑙e帇锛屾瘮濡?home/linux/SDL 涓? tar -zvxf 鏂囦欢鍚嶏紙 gz 鏂囦欢锛? /****************************************************************************** ********************************************************************/ SDL2-2.0.3 浜ゅ弶缂栬瘧 1:淇 敼/usr/include/limits.h 锛屽湪 SDL_test_fuzzer.h 鍔犲叆锛? --disable-video-x11 -host=arm-linux --enable-shared=yes --prefix=/opt/arm1/ #define ULLONG_MAX 18446744073709551615 #define LLONG_MAX 9223372036854775807 #define LLONG_MIN (-LLONG_MAX - 1) --prefix=/opt/arm/ --disable-video-ggi --disable-video-dga --disable-video-nanox --disable-video-svga --disable-arts 2 锛 ?/configure --disable-video-photon --disable-video-dummy --disable-video-x11 --enable-input-tslib --enable-pulseaudio=no --host=arm-linux --build=i386 3 锛歮 ake 4: make install /****************************************************************************** ********************************************************************/ -disable-video-qtopia --disable-video-aalib --disable-alsa --disable-esd
--enable-shared --prefix=/opt/arm --host=arm-linux--disable-static SDL2_image-2.0.0 浜ゅ弶缂栬瘧 1 锛 ?/configure --with-sdl-prefix=/opt/arm CPPFLAGS=-I/opt/arm/include/SDL2 LDFLAGS=-L/opt/arm/lib 2 锛歮 ake 3 锛歮 akeinstall /****************************************************************************** ********************************************************************/ freetype-2.4.8 浜ゅ弶缂栬瘧 1 锛?./configure --prefix=/opt/arm --disable-static --enable-shared --host=arm-linux 2 锛?make 3 锛歮 akeinstall /****************************************************************************** ********************************************************************/ SDL2_ttf-2.0.12 浜ゅ弶缂栬瘧锛堝厛缂栬瘧 freetype-2.4.8 锛? 1 锛?tar zvxfSDL2_ttf-2.0.12.tar.gz 2 锛?cd SDL2_ttf-2.0.12 3 锛氾紙鐜板湪澶ч儴鍒嗛兘涓嶉渶杩欎竴姝ワ紝鍙 洿鎺ヨ繘琛?锛? #鎵嬪伐淇 敼 Makefile,鍘绘帀 OpenGL 鐩稿叧澶勭悊 # 鍘绘帀 143 琛?-I/usr/include-DHAVE_OPENGL #159 琛?鏀规垚 GL_LIBS = # 266 琛?glfont_LDADD = libSDL_ttf.la -lm #鎵嬪伐淇 敼 glfont.c.鍏ㄩ儴娓呯┖锛屽啓鍏ュ 涓? #int main(int argc ,char **argv) { return 0;} ./configure--prefix=/opt/arm --disable-static --enable-shared --enable-music-mp3-mad-gpl--enable-music-mp3=no 4 锛 ? --disable-sdltest --with-sdl-prefix=/opt/arm--with-freetype-prefix=/opt/arm/ CPPFLAGS=-I/opt/arm/include/SDL2 LDFLAGS=-L/opt/arm/lib --host=arm-linux 5 锛歮 ake 6: make install /****************************************************************************** ********************************************************************/ SDL2_mixer-2.0.0 浜ゅ弶缂栬瘧 1:./configure --host=arm-linux--with-sdl-prefix=/opt/arm LDFLAGS=-L/opt/arm/lib 2 锛歮 ake 3:make install /****************************************************************************** ********************************************************************/ SDL2_net-2.0.0 浜ゅ弶缂栬瘧 1: CPPFLAGS=-I/opt/arm/include/SDL2 LDFLAGS=-L/opt/arm/lib (--with-sdl-prefix=/opt/arm 鍙 互涓嶅姞) 2: make 3: make install --prefix=/opt/arm CPPFLAGS=-I/opt/arm/include/SDL2 --host=arm-linux--with-sdl-prefix=/opt/arm ./configure --prefix=/opt/arm
./configure --enable-shared --disable-yasm --cross-prefix=arm-none-linux-gnueabi- /****************************************************************************** ********************************************************************/ ffmpeg 浜ゅ弶缂栬瘧 1: --cc=arm-none-linux-gnueabi-gcc --arch=arm 2: make 3: make install /****************************************************************************** ********************************************************************/ tslib 浜ゅ弶缂栬瘧 1:鍦?tests/ts_calibrate.c 涓 姞鍏 pen 鐨勭 涓変釜鍙傛暟 0777 锛? if ((calfile = getenv("TSLIB_CALIBFILE")) != NULL) { --prefix=/usr/local/ffmpeg --target-os=linux cal_fd = open (calfile, O_CREAT | O_RDWR, 0777); } else { cal_fd = open ("/etc/pointercal", O_CREAT | O_RDWR, 0777); LDFLAGS=-L/opt/arm1/lib ./configure --prefix=/opt/arm1 --disable-static --enable-shared --with-sdl-prefix=/opt/arm1 --host=arm-linux } 2: ./autogen.sh 3: ./configure --prefix=/opt/arm1/tslib --host=arm-linux ac_cv_func_malloc_0_nonnull=yes 4: make 5: make install /****************************************************************************** ********************************************************************/ SDL2_gfx-1.0.1 浜ゅ弶缂栬瘧(鍏堝畨瑁卼 slib 锛屽苟灏嗗叾 cp 鍒?opt/arm/lib 涓? 1: ./autogen.sh 2: CPPFLAGS=-I/opt/arm1/include/SDL2 --enable-mmx=no 3: make 4: make install /*****************************************************************************/ JAVA/Andriod 程序自启动 二 修改 init.rc 如果 android 采用将 ramdisk.img 编译进内核,那么修改 init.rc 就只能通过重新编译 android 内核的方式了。 方法:将 android kernel top 目录下/arch/arm/boot/ramdisk.img 文件拷贝到某目录下如 tmpdir 1.解压 ramdisk.img 进入 tmpdir,将 ramdisk.img 修改为 ramdisk.img.gz #mv ramdisk.img ramdisk.img.gz #gunzip ramdisk.img.gz #mkdir ramdisk //创建 ramdisk 目录 #cd ramdisk #cpio -i -F ../ramdisk.img //将 ramdisk.img 解压到当前目录 //进入 ramdisk 目录
这样可以修改 init.rc 文件,修改后保存 2.打包 ramdisk.img #cpio -i -t -F ../ramdisk.img > list #cpio -o -H newc -O ../new.img < list #gzip new.img //生成 new.img.gz #mv new.img.gz ramdisk.img //改名为 ramdisk.img 然后重新编译 android kernel, 生成的 boot.img 二进制文件拷贝到原 sdcard 根目录下,更新 boot.img 后,再次启动系统,查看 init.rc 即是已经修改过的了。 另 外 需 要 注 意 : 也 可 以 用 命 令 find . -print |cpio -o > ../new.img 或 者 cpio -i -t -F ../ramdisk.img |cpio -o > ../new.img 打包,但是使用这样打包之后更新的 boot.img 系统启动 之后挂掉了。 在用第一种方法打包时文件大小有 636 个 blocks,但是用第二种方法打包的文件是 633 个 blocks,还不知道这两种方式本质的区别。
分享到:
收藏