xcode添加static library project

iOS开发笔记之Xcode9.2下SDK开发-生成Framework的图解流程 1.Workspace可以方便SDK与Demo的联调,首先创建一个Workspace:2.创建Framework:选择Cocoa Touch Framework:加入之前创建的SDKWorkspace,点击Create:3.创建SDKDemo:再次新建Project,选择Single View Application:加入SDKWorkspace:4.生成Framework,关联Demo与SDK:... 阅读详情

假设你在你的项目A中想使用一个static library project, 可以使用以下的步骤
  1. 添加static library project
    右击项目A,在弹出菜单中选择”Add Files to“,选择对应的.xcodeproj文件即可。或者直接把这个static library project的.xcodeproj拖拽到项目A中。

    弄完后,static library project应该被自动打开了,如果没有,它就是被另外一个xcode 窗口中被打开了,必须先关闭掉,然后在项目A中打开。

  2. 添加build 依赖

    在Targets->build Phases->Link Binary with Libraries 添加刚才的static library

  3. 添加static library的头文件

    在Targets->build settings->user header search paths设置static library的头文件搜索路径
    其中要用到的一些xcode预定义变量,可以参考http://developer.apple.com/library/ios/#documentation/DeveloperTools/Reference/XcodeBuildSettingRef/1-Build_Setting_Reference/build_setting_ref.html

  4. 如果项目A是non-arc,而static library是arc的,则需要以下操作

    不能直接通过源文件进行编译,只能作为static library进行link

    在Targets->build settings->build option 将LLVM GCC 4.2 改为Apple LLVM compiler 3.0 

    对使用了arc的源文件,在Targets->Build Phases->Compile Sources, 点击对应的源文件,添加编译选项-fobjc-arc
    参考
    http://blog.cnrainbird.com/index.php/2012/03/13/object-c_kai_fa_zhong_hun_he_shi_yong_huo_bu_shi_yong_arc/
  5. static library里面有category, 在你的项目中使用这个category时,需要设置一个flag,否则category不会被连接进去

    Targets->build settings->other Linker Flags , 添加-ObjC, 否则category不可用,最后运行的时候会出错
    参考http://stackoverflow.com/questions/932856/calling-method-on-category-included-from-iphone-static-library-causes-nsinvalida
  6. 添加linker flags需要注意的事项

    Debug, Release, Any Architecture版本的,需要弄清楚你现在build的是哪个版本,然后在上面设置准确选项,一般把Any Architecture的去掉

    之前在移植的时候,在Debug跟Release上设置了-fobjc-arc,但Any Architecture上没有设置,导致没有正确的link,最后删掉Any Architecture就行了
数字化车间智能排产调度挑战赛(一)—— 数学模型 科大讯飞——数字化车间智能排产调度挑战赛。 阅读详情

相关推荐

使用 git一个仓库管理多个项目

我们需要在 git 里面创建一个空分支,该分支不继承任何提交,没有父节点,完全是一个干净的分支,这时候就需要使用 orphan。该命令会创建一个新的分支,并且该分支有前一个分支下的所有文件,我们不想提交任何内容,所以我们需要把当前内容全部删除。此时 master 分支已经有一个项目了,下面我们创建新的分支管理另一个项目。此时可以在该分支目录上初始化你的项目,在执行 git 命令提交代码。此时我们就完成了在同一个仓库管理不同项目的需求了。下载仓库到本地之后,进入项目目录,查看分支信息。

xrs151的博客 2028

转:用Xcode建立Static Library重复利用你的程序代码

在进行开发时,最常遇到的就是相同的功能,会在不同的地方用到。用 .Net 开发的话,就会将程序包装成 dll,直接在要使用的项目上加入参考即可。在开发 iOS 其实也是有方法可以做到的下面的步骤,会先建立一个 Cocoa Touch Static Library 的项目建立 Static Library,然后再建立一个 Single View Application 的项目来使用建立好的 Libr...

weixin_34248487的博客 159

MaxEnt运行报错的各种问题及解决方法

由于我使用的环境数据并不是大部分人常用的worldclim上下载的气候数据,而是使用不同的四类环境数据,分别包括:降雨数据、气温数据、氮沉降数据和大气CO2浓度数据,数据需要分别从不同的网站下载,因此并不能得到非常一致的数据文件,导致MaxEnt运行时出现了各种各样的错误。文件终于能够读取了,然而计算到一半又弹出第三种问题,根据弹出的报错提示,找到错误所在那一行,用Notepad++打开,可以发现,这一行确实存在nan值,导致文件读取无法正常进行。出现上图所述的问题时,检查环境变量是否具有相同的行列号。

guye322的博客 1万+

xcode生成静态库.a

一、生成静态库1.打开 Xcode 创建一个新的 Static Library 工程,取名applestudio2.创建工程完毕后,简化目录结构删除系统自动创建的同名类:applestudio.h和applestudio.m把自己的代码复制进去,如例子:guiconnect.h 和 guiconnect.m3.设置适配所有模拟器架构:project -> buildSeting -> Build Active Architecture Only 设为 NO。

haoxuhong的博客 2459

LVGL(lv_table)

LVGL中的lv_table是一个轻量级表格控件,用于显示行列式文本数据。它支持设置单元格内容/样式、行列调整、事件响应等基础功能,适用于参数配置、数据展示等场景。通过API可快速创建表格,设置行列数、填充数据,并自定义对齐方式与样式。但需注意默认无滚动条、行数限制等问题。该控件适合简单表格需求,复杂交互需结合自定义事件处理。

m0_49476241的博客 1264

18、知识表示与学习范式

本文探讨了智能系统中的核心组成部分——知识表示与学习范式。从基础知识到实际应用,详细解析了符号表示、框架表示、语义网络和本体表示等知识表示方法,并介绍了监督学习、无监督学习、半监督学习和强化学习等学习范式。此外,还深入分析了这些技术在自然语言处理、图像识别和推荐系统等领域的具体应用及操作步骤。最后,展望了未来可能的技术发展方向。

ttt77的博客 85

iOS升级Xcode 报错library not found for -libstdc

libstdc++报错

hezhi66327的博客 653

cesium 实时轨迹

运用cesium中model和polyline添加模型和轨迹线,用CallbackProperty方法来实时改变经纬度。

God's asylum的博客 1964

Xcode14 Library not loaded: /usr/lib/libstdc++.6造成的crash以及解决方案

dyld: Library not loaded: /usr/lib/libstdc++.6.dylib解决方案 xcode11、xcode12、xcode13、xcode14

一起寻找DX3906-探索未知 2225

PCL点云处理之计算点到空间直线距离的四种方法(二十三)

PCL点云处理之计算点到空间直线距离的四种方法

weixin_44329757的博客 3022

某瓜数据app 获取达人直播商品信息接口 Sign

某瓜数据app 获取达人直播商品列表接口 Sign

自成背后的博客 6039

Xcode 中StaticLibrary与Framework

Xcode 中StaticLibrary与Framework 1、区别 静态库:StaticLibrary、Framework 动态库:Framework 2、联系 Framework 实际上是一种打包方式,将库的二进制文件,头文件和有关的资源文件打包到一起;StaticLibrary的产出物只是一个.a文件,为二进制执行文件。 3、Framework结构 static framework 文件目...

三月江城的博客 897

【020】C++ 动态内存管理解析:new 和 delete 的正确使用

C++中的动态内存分配是在程序运行时根据需要进行内存空间的分配和释放,与静态内存分配相比,具有更大的灵活性和适应性。动态内存分配可以通过new和delete或者malloc()和free()等函数实现。在程序运行时无法确定所需的内存大小。需要在多个函数之间共享数据,并且数据可能被频繁地创建和销毁。静态数组无法满足需求,例如需要支持可变长度数组。如果在动态分配内存后忘记了释放它,则会导致内存泄漏。为避免内存泄漏,可以使用智能指针或手动管理内存的方式来释放动态分配的内存。

Lion_Long的博客 1470

Xcode6制作静态链接库和framework

Xcode6 制作Framework Xcode -> New Project -> framework & Library -> Cocoa Touch Framework将需要整理成Frame的文件导入,在Target -> Build Phases ->Headers 将需要公开的.h文件拖到Public中BuildXcode -> window -> Projects -> 项目 -

feizhu422的专栏 765

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

使用xcode workspace 多个project协同工作

转载自: http://www.cnblogs.com/yulang314/p/3836123.html 一般的某个应用单独新建一个 project 就可以了,然后把所有的程序文件都放在里面,这个可以满足大部分普通的需求,但是有时候,项目有可能要使用其他的项目文件,或者引入其他的静态库文件,这个时候 workspace 就派上用场了,workspace 即可以单独管理多个项目,又可以通过

沸腾的泪水的专栏 3560

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Xcode Static Library Subprojects and Submodules[1]

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34308389的博客 126

XCode环境变量及路径设置

一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的缺点立马出现。 所以在修改User Header Search Paths这个选项的时候使用 "$(SRCROOT)/当前工程名字/需要包含头文件所在文件夹" 将上面的双引号里面的字符串拷贝

Recording... 13万+

项目中如何添加CorePlot开源框架(重温Xcode4链接静态库)

2012-2-16 12:32 | 发布者:benben| 查看数: 250 | 评论数: 0 摘要: CorePlot是一个开源的数据报表框架库,且是个静态库(iphone协议不允许连接动态库)。因此在项目中使用CorePlot要进行必要的一些设置以使Xcode4正确链接这个静态库。(示例项目:PieChart Samp...

java开发指南博客 【转载】 114

创建静态库Cocoa Touch Static Library

测试环境:Xcode 4.3.2 代码MyStaticLib, MyStaticLibUse 为了系统的安全,ios只允许使用静态库(静态连编到程序中),不能用动态库(程序运行时才加载到内存)。 首先创建静态库工程 File -> New -> Project -> Framework & Library -> Cocoa Touch Static Library

金永哲的博客 Now Loading... 2375

xcode创建静态库1

首先声明啊,创建静态库的流程我是参考 这里 的说明做的,让我惊喜的而是竟然成功了,教程里面的都能重现出来,要知道,遇上好多照着教程做,然后结果不一样的情况可是多了去了。而且,这篇教程图文并茂,甚至还有gif示例,卧槽,还能再贴心点吗,这种传播和共享知识的态度简直让我肃然起敬,人家那根本就不是糊弄,而是真正的是想共享一些知识,生怕你哪里看不懂或是漏看了。啥也不说了, 我得作为榜样学习。我在这篇文章所做

What the Fuck 794

Build Library By xcodebuild

#!/bin/bash # # 介绍: # 这个脚本全部自动化编译各指令集静态库后合并。现在支持指令集有armv7 armv7s arm64 i386 x86_64 #  # 使用: #  首先cd 到xcode工程目录 然后运行 "sh ./build.sh"  PS:xcode不能含有xcodebuild的Runscript切记! # # 验证: #  cd 到静态库目录

3316

IOS创建静态库Cocoa Touch Static Library

转自:http://blog.youkuaiyun.com/ahopedog/article/details/7873385 为了系统的安全,ios只允许使用静态库(静态连编到程序中),不能用动态库(程序运行时才加载到内存)。 首先创建静态库工程 File -> New -> Project -> Framework & Library -> Cocoa Tou...

diyuan365760的专栏 141

【flutter项目从xcode运行时报错:Undefined symbol: _OBJC_CLASS_$_WeiboSDK】

原因:weibo_kit:4.0.0 是基于微博官方 WeiboSDK 封装的 Flutter 插件,Pod 安装时会自动引入 WeiboSDK 静态库(.a 文件),但 Xcode 可能未正确将其加入 链接阶段 或 搜索路径。打开项目的 ios/Pods 文件夹,检查是否存在 WeiboSDK或 Weibo_SDK目录(通常在 Pods/WeiboSDK 或 Pods/weibo_kit/ios/WeiboSDK 类似的目录下);$(inherited)(必须,继承 Pod 的链接配置);

androidhyf的博客 671

基于CocoaPods的多Project工程应用

本文主要说明如何通过CocoaPods管理iOS项目依赖,并创建静态库框架。首先创建App项目,配置Podfile文件添加基础依赖库,执行pod install安装。然后创建Framework项目,修改构建类型为静态库,配置专属pod依赖并通过头文件暴露公共API。最后介绍如何构建发布版Framework包,并在主工程中正确引用和使用框架功能。全文涵盖了从依赖管理、模块创建到API调用的完整开发流程。

风·之痕的博客 1098

iOS Universal Static Framework 手动转 XCode Cocoa Framework

不需要重新创建Project,手动修改工程设置。 第一步:在Project文件中,修改type,去掉static 第二步:还需要修改工程设置: CLANG_WARN_UNREACHABLE_CODE = YES; CURRENT_PROJECT_VERSION = 1; ENABLE_STRICT_OBJC_MSGSEND = YES; VERS

冷秋魂的专栏 2389
上一篇: 编译CLCascade提示Undefined symbols for architecture armv7s的解决办法
下一篇: 图解Git[强烈推荐]
hungboy0
博客等级 码龄23年 4粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值