要在XCode中使用的C++静态库
C++ static library to be used in XCode
这可能不是一个简单的问题,所以我不是在寻找一个明确的答案,而是寻找一些指引,让我朝着正确的方向前进。
我完全没有使用C/C++的经验,但对Objective-C有很好的了解。我对不同的编译器和体系结构也不太了解,所以如果我说的是愚蠢的话,请注意:)
我有一些MatLab代码需要移植到Objective-C才能在iPhone应用程序上运行。我完成这项工作的第一个尝试路径是检查MatLab是否可以将代码导出为静态C/C++库,我可以从Objective-C代码中调用该库。
事实似乎是这样,但我不完全确定下一步该做什么,以及在MatLab端编译库时需要记住什么(即架构、兼容性、PC与Mac等)。
我收到了一个.DLL和.LIB文件,我认为这些文件是Windows编译的,所以对我没有用处,这是正确的吗?通过使用以前的静态库,我可以看到它们都有.a扩展——我需要做什么才能得到一个与iPhone架构兼容的扩展?
一旦我编译了库,如何在我的项目中导入和使用它?我可以直接从代码中调用公共方法吗?
我还需要知道或意识到什么?
非常感谢您的帮助!
谢谢,
Rog
静态库包含为某些特定操作系统和平台量身定制的二进制代码。这意味着它将使用操作系统内部获取内存(如果它使用动态内存)或执行任何其他特定于操作系统的操作(日志记录、输出)。
即使生成的代码完全与操作系统无关(基本数学可以在没有操作系统支持的情况下实现),平台也完全不同,matlab将为英特尔平台生成代码,iPhone在ARM架构中运行,使用不同的指令集调用约定。。。
除非matlab能够为iPhone或至少为ARM平台生成静态库,并使其与操作系统无关,否则你就倒霉了。
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- #为""定义宏;静态";针对不同的上下文
- cmake如何在fedora工作站中找到boost静态库包
- 静态数据成员的问题-修复链接错误会导致编译器错误
- 将公共但非静态的成员函数与ALGLIB集成
- cmake在我的项目中所需的所有静态库都不成功
- C++从另一个类访问公共静态向量的正确方法是什么
- 基于boost的程序的静态链接——zlib问题
- 在静态库中嵌入类方法
- Qt C++静态thread_local QNetworkAccessManager是线程应用程序的好选择吗
- 如何在C++中获得"静态纯虚拟"功能?
- 私有类型的静态常量成员
- 使用gcc从静态链接的文件中查找可选符号
- 在 .h 文件中的类中声明静态变量和在.cpp文件中声明"global"变量有什么区别
- 如何在C++中使用非静态成员函数作为回调函数
- 将静态库链接到不带-fPIC的共享库中
- 静态结构和一个定义规则
- 为什么虚函数不能是静态的和全局的?
- C++17中函数模板中的静态数组初始化(MSVC 2019)
- 停止cmake target_link_libraries将插件中静态库的两个对象文件链接到静态库本身