Delphi是否可以为iOS创建静态库?

时间:2016-03-16 16:29:21

标签: ios xcode delphi static-libraries delphi-xe8

我想在iOS应用程序(Xcode项目)中使用现有的Pascal源代码(无用户界面)。所以我需要创建一个静态库,然后我可以将其添加到我的iOS项目中。

有没有办法在Delphi中为arm架构创建静态库(* .a)?是否有编译器/链接器选项?

或许还有另一种方法可以做到这一点?

修改
我创建了一个osx测试项目并使用了Dcp \ OSX32路径中的库文件并手动创建了头文件。

当我构建Xcode项目时,我收到以下错误:

  

ld:警告:忽略文件/Path/lib/testlib.a,为其构建了文件   存档不是要链接的体系结构(x86_64):   /Path/lib/testlib.a

lipo说:

lipo -info /Path/lib/testlib.a  fatal error:
> /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo:
> archive with no architecture specification: /Path/lib/testlib.a (can't
> determine architecture for it)

AR:

ar -t /Path/lib/testlib.a  
/  
//  
/1

/Path/lib/testlib.a文件是使用Delphi Package Project生成的。该文件似乎在Xcode项目中无法使用。

1 个答案:

答案 0 :(得分:2)

documentation说这是可能的(我强调)。

  

RAD Studio生成包静态库文件:

     
      
  • 为iOS设备或Android构建Delphi软件包时。
  •   
  • 为桌面平台构建Delphi软件包并使用"生成所有C ++ Builder文件(包括软件包库)"的价值   Project>中的C / C ++输出文件生成选项选项>德尔福   编译器>输出 - C / C ++。
  •   
  • 构建C ++程序包并在Project>中启用Generate static package library(.lib)选项时选项> C ++ Linker。
  •   
     

包静态库文件是从中生成的静态库文件   一套。在何时使用静态库代替导入库   您的应用程序不使用运行时包。请参阅构建静态   包。

     

包静态库文件的文件名是:

     
      
  • <package>.lib用于32位Windows。
  •   
  • <package>.a适用于64位Windows和Mac OS X.
  •   
  • lib<package>.a适用于iOS设备和Android。
  •