Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.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
从命令行调用iOS静态库中的函数_Ios_Static Libraries - Fatal编程技术网

从命令行调用iOS静态库中的函数

从命令行调用iOS静态库中的函数,ios,static-libraries,Ios,Static Libraries,我们在iOS静态库中提供了一些函数。有一个头(.h)和一个已编译的(.a)文件。有没有任何方法可以从命令行(OSX、Windows或Linux)调用静态库中的函数?我已经研究了几天了,我开始怀疑这是否可能?我们不处理Apple/iOS/xcode环境,供应商只有这个静态库。有什么提示吗?如果可能的话,我愿意阅读任何文档,但现在我怀疑这是否可能?谢谢 在检查什么是可能的时候,我运行了这个 lipo -info libExaNumberCalc.a 我运行上面的程序,它说 Architecture

我们在iOS静态库中提供了一些函数。有一个头(.h)和一个已编译的(.a)文件。有没有任何方法可以从命令行(OSX、Windows或Linux)调用静态库中的函数?我已经研究了几天了,我开始怀疑这是否可能?我们不处理Apple/iOS/xcode环境,供应商只有这个静态库。有什么提示吗?如果可能的话,我愿意阅读任何文档,但现在我怀疑这是否可能?谢谢

在检查什么是可能的时候,我运行了这个

lipo -info libExaNumberCalc.a
我运行上面的程序,它说

Architectures in the fat file: libExaNumberCalc.a are : i386 armv7 x86_64 arm64

不知道上面是否增加了希望?

首先想到的是,您可以围绕库函数编写瘦包装并构建/运行它。差不多

// main.c
#include "your_library_header.h"

int main(int argc, char *argv[])
{
  // parse & pass parameters if necessary from command line

  your_lib_function();

  return 0;
}
用类似于

clang main.c -o output.file -lyourlibrary

iOS静态库用于iOS如果您不在iOS环境中操作,它将不是youhaiz的正确库,该供应商将我们置于噩梦般的境地:-/我们被告知他们将为我们提供这些库,但这是我们最不希望看到的。我在考虑这里的任何可能性。。。比如能够在一些模拟器中“运行东西”等,并提供输入。。。并获得输出。它基本上是一组处理一些数字的函数。我愿意接受任何黑客的方法,直到我们得到它与供应商排序。他们的技术水平很低,他们的iOS人员早已不在了。有没有办法知道这个静态库是否不仅仅适用于iOS?我的意思是,我已经读到,当创建这样的库时,是否可以创建它们以在不同的体系结构上运行?有没有办法用.a和头文件检查这个问题?刚才看到了一些东西。。。lipo-info-xxx.a文件?我想这会告诉我我猜是哪种体系结构……看来你们的库已经准备好在设备和模拟器上运行了。它应该在Mac上构建为一个独立的可执行文件,很好(它在链接阶段发出警告,但它可以正常工作),我继续尝试,我的openssl静态库没有出现问题。库文件名为“libcrypto.a”,-L选项向编译器提示在何处查找库文件
clang-lcrypto-L/Projects/test-oa.out main.c