使用CodeTyphon做FPC交叉编译的问题记录
在mac下安装了CodeTyphon尝试做freepascal代码的跨平台编译。
首先编译安装CodeTyphon环境
步骤1:安装 mac ports
步骤2:首先解压下载来的CodeTyphon安装包,运行解压目录下下的setup.sh, 使用 sudo 执行
步骤3:选择0,安装系统库
步骤4:选择8, 清空之前的全部组件,重新编译安装
经过漫长等待后,可以在应用程序中看到有CodeTyphon和Typhon32两个图标,运行CodeTyphon
编译所需目标平台的工具链
主要是CrossBuild菜单项目下的几个菜单项处理。
步骤1:选择 CrossBuild 菜单下面的 ToolChains Build 项目,选择期望的目标平台,主要是第一列的 FPC CPU-OS Targets 中选择, 选择好后点击 Build 按钮进行编译。在自己手动编译前可以先选择 CrossBuild 菜单下面的 Download ToolChains项目,看服务器上有无预先编译好的可可以下载来用(手工编译速度比下载速度慢很多)下载前,要用sudo 运行CodeTyphon, 否则会下载失败,提示目录不存在的错误,其实就是没有权限写目录
步骤2:选择 CrossBuild 菜单下的 Download Libaraies 项目,下载对应目标平台的库文件
步骤3:选择 CrossBuild 菜单下的 FreePascal 32bits(64bits), 编译所需平台的 cross elements,
如果没有做第一步, 则这儿没有对应平台的cross elements可以选择
编译目标平台的程序
步骤1. 运行Typhon32
步骤2. 新建或打开工程
步骤3. 设置工程的相关搜索路径,菜单 工程=》工程选项=》编译选项=》路径, 主要为Libraries路径,为了变更目标平台时不修改这边的路径,可以采用相对路径。
Libraries 可以填 $(CTDir)/binLibraries/$(TargetCPU)-$(TargetOS)
单元输出目录可以填 lib/$(TargetCPU)-$(TargetOS)
步骤4. 选择目标平台,菜单 工程=》工程选项=》Config and Target, 设置目标OS和目标CPU
编译中碰到问题:
问题1: 编译提示 system 单元未找到
这一般是由于没有创建好对应平台的cross elements 或者 在工程的路径设置中没有设置对 units的路径
问题2: 代码中的中文信息在编译后输出了乱码
这个一般是由于Freepascal默认按照utf8解释的原因,之前代码中的中文是在Win下编写,GBK编码,将文件转为UTF8格式重新编译问题解决。
Popularity: 11% [?]