今天无意中看到"FPC 2.2.0 以后的版本已经都可以支持WinCE应用程序了。" ,眼球就被吸引过去了,心想:不是吧,Borland 高薪养着的工程师没搞定的事情让一群义工搞定了?点击网址跳转过去一看,吓着了:不光可以交叉编译多种CPU的程序,连 Sun 的跨平台遗愿也给实现了,而且还是编译成原生代码呢!
Lazarus 是 Freepascal 的图型界面 IDE, 使用 Freepascal 的编译器,界面和操作与 Delphi 几乎一样,而且有全中文界面(像小某这般的半文盲是何等的喜事呀!),可编译控制台程序和GUI程序。
看它的编译选项,挺吓人的:
可交叉编译以下CPU的程序: arm、i386、m68k、powerpc、sparc、x86_64,
可编译以下操作系统的程序:Linux、NetBSD、OpenBSD、Solaris、Win32、Win64、WinCE、go32v2、os2、beos、haiku、qnx、netware、wdosx、emx、watcom、netwlibc、amiga、atari、palmos、gba、nds、macos、morphos、embedded、symbian。
吓着了吧?连弱智鸭的赛笨(symbian)系统也支持,而且也支持 ARM 版的 Linux (应该是嵌入式 Linux 吧?),(见: http://www.freepascal.org/download.var http://wiki.freepascal.org/Setup_Cross_Compile_For_ARM ) 以后搞嵌入试系统开发也有希望了。回头看看现在已支持WinCE操作系统:
Pocket PC 2002 – WinCE 3.0版
Pocket PC 2003 – WinCE 4.20版
Pocket PC 2003第二版 – WinCE 4.21版
Windows Mobile 5 – WinCE 5.0版
Windows Mobile 6 – WinCE 5.2版
RTL和FCL 的单元文件都能用在WinCE上面。 今天晚上试了同一套代码不作任何修改可分别编译出 CE for ARM 版本(1.8M)和 WIN32 for i386 版本(1.5M)的程序, 两个程序在各自的平台上都正常运行。并且 KOL 也移植到了 FreePascal (见:_http://sourceforge.net/projects/kol-ce/),生成的目标程序将会更小了。
(PS:东兰梦舞就用它写了个 Web服务器 For WinCE 程序才130KB,强!)QQ群:
50275047 (嵌入式开发群)
55987291 (中有好几个人在用它开发 ARM 软件,东兰梦舞就用它写了个 Web服务器 For WinCE,据闻在运行很稳定。
最新的开发环镜下载网址:
http://snapshots.lazarus.shikami.org/lazarus/
安装非常简单,先安装:
Lazarus-0.9.27-19788-fpc-2.2.5-20090504-win32.exe
后安装:
Lazarus-0.9.27-19788-fpc-2.2.5-20090504-cross-arm-wince-win32.exe文档:
http://wiki.freepascal.org/Lazarus_Documentation/zh_CN设置 Windows CE 的编译参数:
http://wiki.lazarus.freepascal.org/Windows_CE_Interface/zh_TW#.E8.9E.A2.E5.B9.95.E6.88.AA.E5.9C.96WinCE 开发笔记:
http://wiki.lazarus.freepascal.org/Windows_CE_Development_Notes/zh_TW压缩包内有个小 Dome,分别编译了两个版本:
Project.for.CE.exe 66.5K
Project.for.win.exe 64.3K都未经 UPX 压缩的!!!
解决方案 »
- 组合算法:从m个数中选n个数的所有组合
- TObjectList容器中对象的指针?
- DBgrid中数据单元的个别字体颜色的改变————急!!在线等!!!
- 坚决抵制日货!! (武商集团列出全部日货请家不要购买)
- dbgrid 如何判断用户 一行都没选
- 如何对enable属性为false的memo控件中显示的内容进行复制,拷贝?
- TSpeedButton?
- 我的机是win98,可以上Internet(透明代理),如何使我局域网内的其它机也能上Internet?
- kingron大侠网站上的猛料1.3用什么浏览器打开,在哪里有下载,谢谢
- 动态生成子菜单?
- 动态生成的控件莫名其妙失效
- 关于Indy10 的IdTcpServer.Execute数据接收问题
[工程] -> [工程编译选项] -> [链接]
把 "当出现运行错误时显示行号" 前的勾勾去掉后再编译一次看看. :D
WM 6 虚拟机:
0804/Windows Mobile 6 Professional Images (CHS).msi 207.1 MB
http://www.microsoft.com/downloads/details.aspx?FamilyID=38C46AA8-1DD7-426F-A913-4F370A65A582&displaylang=en************************
本人亲自下载试用了一下,感觉和DELPHI差不多,效果不错!
http://www.microsoft.com/downloads/details.aspx?familyid=9e641c34-6f7f-404d-a04b-dc09f8141141&displaylang=zh-cn&Hash=rN3fHh%2f721%2foWZU4bv482koJyRyuds4GsoS7gkHwP5RfR008Mz6XOAULyMdo1t5e5IEjlCdtElnbzvB1gfbvfQ%3d%3d#filelist http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141
Environment -> Environment Options打开环境设置窗口,
在Desktop标签下有Language选项,改成Chinese (zh_CN),确定后重新启动下Lazarus,大部分界面就是中文的了。
FreePascal最大的好处是免费
回头下一个试试先。
可以实现嵌入式Linux和wince平台下的应用程序开发。
可是当时感觉Lazarus编译之后的可执行文件太庞大了。
原来设置没设好,
找个时间再试试
去掉之后确实小多了。
试用后是不是发现编译出来的东西很大? 就一个空窗体也11M ? 呵呵呵,改一下选项就正常了!
[工程] -> [工程编译选项] -> [链接]
把 "当出现运行错误时显示行号" 前的勾勾去掉后再编译一次看看. :D 中文字符的问题,新版本已经完美解决!!
最新版本为:0.9.27
FPC版本为:2.2.4
更新日期:2009-06-11
天哪,这不是我搞计算机竞赛的时候用过的东西么?
当时觉得这玩艺就一个“恶搞”。没想到竟然还有这么强的功能?ps:"Lazarus"貌似是“麻风病人”的意思……-_-||||
Lazarus中文社区大家可以在这个地方交流了
只是听说过lazarus,从来没有接触过。。弱弱的问:不知道在windows下是否有现成的类库??
windres: can't open file `project1.manifest': No such file or directory
project1.lpr(20,1) Error: Error while compiling resources
project1.lpr(20,1) Fatal: There were 1 errors compiling module, stopping