Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi是否可以为iOS创建一个静态库?_Ios_Xcode_Delphi_Static Libraries_Delphi Xe8 - Fatal编程技术网

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

Delphi是否可以为iOS创建一个静态库?,ios,xcode,delphi,static-libraries,delphi-xe8,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):

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

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

或者也许还有别的方法

编辑:
我创建了一个osx测试项目,使用Dcp\OSX32路径中的库文件,并手动创建了头文件

构建Xcode项目时,出现以下错误:

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

利波说:

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:

/Path/lib/testlib.a文件是使用Delphi包项目生成的。该文件在Xcode项目中似乎不可用。

说这是可能的(我强调)

RAD Studio生成包静态库文件:

  • 为iOS设备或Android构建Delphi包时。
  • 当您为桌面平台构建Delphi包并使用“生成所有C++Builder文件(包括包库)”值 Project>Options>Delphi中的C/C++输出文件生成选项 编译器>输出-C/C++
  • 当您构建C++包时,您可以在Projt>选项> C++链接器中生成生成静态包库(.LIB)选项。
包静态库文件是从生成的静态库文件 包裹。在以下情况下使用静态库代替导入库: 您的应用程序不使用运行时包。参见建筑静态 包裹

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

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

谢谢,图书馆已经生成了。但要在Xcode中使用它,我仍然需要一个头文件。德尔福能做到吗?我不相信它能做到。我认为您必须手动完成这项工作。我目前正在尝试解决相同的问题:将遗留的Delphi代码编译为静态或动态库,以便在iOS应用程序中使用。你设法让它工作了吗?
ar -t /Path/lib/testlib.a  
/  
//  
/1