Android平台下FreePascal的交叉编译
背景:1:我笔记本是XP(Intel处理器),虚拟机中装Ubuntu 10
2.fpc是2.4.2 lazarus版本是0.9.30 Sourcery G++ Lite 2010-09 java jdk 1.6 android 的模拟器 2.2
步骤:
1.安装好fpc编译器和lazarus 这一步略
2.下载fpc-source ,链接如下:The ‘fpc-2.4.2.source.tar.gz’ on http://sourceforge.net/projects/freepascal/files/Source/2.4.2/,
2.1 解压缩即可,我放在home/hotcyy/ 下,即绝对路径为home/hotcyy/fpc-source
3.下载Sourcery G++ Lite,链接:The ‘IA32 GNU/Linux Installer’ on http://www.codesourcery.com/sgpp/lite/arm/portal/release1600
3.1 在终端执行:
sudo
dpkg-reconfigure -plow dash,接着选择No,继续
3.2 到软件包的文件目录 执行:
chmod
+x arm-2010.09-05-arm-none-linux-gnueabi.bin
3.3 安装:./arm-2010.09-05-arm-none-linux-gnueabi.bin 我这边的路径为:/home/hotcyy/CodeSourcery/Sourcery_G++_Lite
3.4 安装好之后一定要检查环境变量,即验证是否安装成功。在终端运行arm-none-linux-gnueabi-gcc -v 若显示版本则证明安装成功了,若不成功,这需要添加环境变量:export PATH=$HOME/hotcyy/CodeSourcery/Sourcery_G++_Lite/bin,或直接用vim编辑环境变量。
4 去fpc-source的目录下,请先确认fpc-source/rtl/units/arm-linux文件下存有*.ppu;*.o文件等存在证明没问题了 可进行下一步
执行:make crossall CPU_TARGET=arm OS_TARGET=linux OPT="-dFPC_ARMEL -O- -gl" CROSSPORT="-O-" CROSSBINDIR=/home/hotcyy/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin
5.便在/home/hotcyy/fpc-source/compilers/目录下生成了 ppcrossarm文件
6.编写一个简单的Helloworld的pascal程序 略
7 到/home/hotcyy/fpc-source/compilers/此目录下:执行 ./ppcrossarm -Tlinux -O- -XP -Fu/home/hotcyy/fpc-source/rtl/units/arm-linux/ -FD/home/hotcyy/CodeSourcery/Sourcery_G++_Lite/arm-none-linux-gnueabi/bin /home/hotcyy/dev/hello.pas
Note: -Fu is the unit path, -FD is the compiler utilities path.
8.便在hello.pas目录下页生成hello和hello.o两个文件
9.装好android的环境之后,启动模拟器,执行:./adb push /home/hotcyy/dev/hello /data/hello (注意前面是源文件路径,后者路径必须是data/*)
10. 继而执行:./adb shell /data/hello 便在终端中看到了Hello World -----------------The END
转载时候请注明引用原文地址。。
Reference:
1) http://alexmogurenko.com/blog/programming/android-building-free-pascal-compiler-for-android/
2) http://wiki.freepascal.org/Android_Interface
3) http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM
4)http://blog.huxuan.org/corsscompiler-to-run-free-pascal-on-android/
转载于:https://www.cnblogs.com/watchtower/archive/2011/08/01/2123572.html
- Android平台下FreePascal的交叉编译
- 使用ndk交叉编译android各平台版本的第三方库
- Cocos2dx交叉编译至android平台
- OpenCV的Android平台交叉编译(CMake)
- 交叉编译pjsip2.2.1至android平台
- android powerpc平台交叉编译工具生成 (1)
- [cocos2d-x 学习] Windows下环境配置&交叉编译到android平台
- cocos2d-x交叉编译到android平台
- cocos2d-x交叉编译到android平台
- ubuntu交叉编译android平台可执行C程序
- Ubantu 系统下 Android 平台的 Opencv交叉编译
- Android平台交叉编译流程
- Ubuntu系统下为Android工程交叉编译基于源码的OpenSSL库
- cocos2dx 2.2 的Android交叉编译
- 1.cordova编译android平台出现的错误
- 在海思hisiv100nptl平台上交叉编译并安装SRS
- Bullet(Cocos2dx)之交叉编译Android,集成到cocos2dx3.x
- 用NDKr9编译最新ffmpeg2.0.1(ffmpeg2.0.2)到android平台
- Freeline - Android平台上的秒级编译方案
- Windows 和 android 平台Boost编译方法