You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Delphi 10.1中FireMonkey项目无法添加OS X目标平台的咨询

解决Delphi 10.1迁移项目无法添加OS X目标平台的问题

从你描述的细节来看——新创建的应用能正常添加并编译OS X平台,但迁移过来的旧项目(包括自己的带SQLite3的FMX应用、其他设备的简单32位应用)都无法添加,核心问题肯定出在迁移项目的配置文件残留问题上,毕竟你的开发环境(PASServer、Delphi跨平台配置)已经通过新应用验证是完全正常的。下面是一步步的排查和修复方案:

1. 先检查项目的平台基础设置

打开无法添加OS X的项目,按以下路径操作:

  • 点击顶部菜单 Project → Options → Building → Platforms
  • 查看右侧的Target Platforms列表,如果没有OS X选项,直接点Add按钮尝试添加。
  • 如果点击Add后找不到OS X选项,或者添加时弹出错误提示,继续往下走。

2. 手动修复项目文件(.dproj)的XML配置

Delphi的.dproj本质是XML格式,跨设备迁移时很容易残留原环境的平台锁定配置,或者缺失OS X平台的必要节点:

  • 先关闭Delphi,找到项目的.dproj文件,用记事本或VS Code打开。
  • 搜索<Platforms>节点,检查是否包含<Platform Value="OSX32"/>(Delphi 10.1的OS X目标平台标识是OSX32)。如果没有,把它添加进去,示例如下:
<Platforms>
    <Platform Value="Win32"/>
    <Platform Value="Win64"/>
    <Platform Value="Android"/>
    <Platform Value="OSX32"/>
</Platforms>
  • 另外,检查文件中是否存在<PropertyGroup Condition="'$(Platform)'=='OSX32'">节点,如果没有,可以参考你新创建的OS X项目的.dproj文件,复制对应的配置节点过来(主要是编译路径、SDK引用等基础配置)。
  • 保存修改后重新打开项目,再尝试添加OS X平台。

3. 清理项目的本地缓存配置文件

迁移项目时,往往会携带原环境的本地缓存文件,这些文件会干扰新环境的平台识别逻辑:

  • 关闭Delphi,删除项目目录下的这些文件/文件夹:
    • .dproj.local
    • .identcache
    • __history文件夹
    • 所有编译生成的Win32/Win64/Android输出文件夹
  • 重新打开项目,再尝试添加OS X平台。

4. 排查SQLite3相关配置的兼容性

你的项目包含SQLite3,虽然用的是标准组件,但也要确认:

  • 项目中是否硬编码了Windows版的SQLite库路径(比如sqlite3.dll)?如果有,可能会触发平台添加时的兼容性检查失败,建议先注释掉硬编码的路径,等OS X平台添加完成后,再在Deployment中配置OS X对应的libsqlite3.dylib。

5. 终极方案:重建项目迁移代码

如果以上步骤都无效,最稳妥的方法是彻底重建项目:

  • 在MacMini的Delphi中创建一个新的支持OS X的FMX应用。
  • 把旧项目中的所有代码文件(.pas、.fmx、.dfm、SQLite数据库文件等)复制到新项目目录下。
  • 在新项目中依次添加这些文件,然后配置FireDAC的SQLite连接(和旧项目保持一致),最后编译测试。

这个方法可以彻底规避原项目文件的配置遗留问题,适合比较复杂的旧项目。


内容的提问来源于stack exchange,提问作者Al C

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 03:33:57