添加静态库注意事项

  在我们的项目中通常会添加静态库,有些第三方的静态库添加后需要添加系统支持库才能运行,这种事比较好解决的。然而,有时候我们会遇到各种各样的问题。比如,不支持arm64或者需要i384等等,然后百度一下各种解决方案,当然大多时候都能够解决,当有一种情况是无法解决的。说到这种情况是我最近碰到的问题,不知道有没有小伙伴跟我一样手一滑不小心加错了的。首先我们要了解静态库的种类,在编译成静态库的时候需要选择target,如果选择的是模拟器,那么编译出来的库只能用于模拟器上运行;如果是真机则只能运行在真机上;最后一种是可以在两种target上运行。说到这里我相信小伙伴已经明白我的意思了吧。好吧,其实是我不小心添加了一个用于真机调试的静态库,然后各种百度,各种方案都不能解决,后来换了个能跑两种的库,问题就解决了。

  其实大多数时候我们都没有在意这些细节,因为通常第三方直接提供了用于真机和模拟器运行的静态库,但有的三种都提供给你了,例如百度统计SDK,一不小心你会烦死,其实根本没有什么问题,只不过你当时没注意。哎,小伙伴们,注意细节,不要像我一样??。

时间: 2024-10-08 09:57:59

添加静态库注意事项的相关文章

[cocos2dx笔记004] android添加?静态库project

(基于2.2.2版本号) 这步比較麻烦,不像vs2013那样好设置.參考了非常多文章.还是不能解决这个问题.仅仅有慢慢摸索了.在这里贴出来,希望能让大家能少走点弯路. 还是其于前面的文章提到的mylib这个样例.[cocos2dx笔记003] Vs2013添加?静态库project首先进到external\mylib,用文本编辑器打Android.mk 并改动图中圈中的部分 改动结果例如以下 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) L

iOS 8:【转】封装iOS静态库注意事项

源地址:http://fann.im/blog/2014/01/12/ios-static-library/ 做一个 iOS 静态库需要注意的东西: namespace 冲突.静态库用了某第三方库,项目也用了同样的第三方库,在编译的时候就会有 duplicate symbol 错误,因为有两份同样的第三方库.解决办法就是把用到的第三方库加上自定义前缀,包括类名.delegate 协议.常量名,尤其需要注意 Category 的方法名要修改. 封装静态库的时候应尽量避免引入重量级第三方库,多自己进

[cocos2dx笔记003] Vs2013添加静态库project

(基于2.2.2版本号.用vs2013编辑代码)(cppblog版本号:http://www.cppblog.com/zdhsoft/archive/2014/05/11/206890.html) 在cocos2dx下有一个external文件夹.里面有一些要用到的cocos2dx静态库,如Box2D.chipmunk,emscripten,libwebsockets,sqlite3等. 可是自己以往积累或第三方其他好用的开源库,想用.假设直接到加到现有的cocos2dx,则会破坏现有Cocos

IOS 在Xcode 4.x以上添加静态库

参考网站:http://my.oschina.net/edwardlau/blog/95924 常用的代码可以通过静态库进行抽出来作为公共类方法,方便在其他地方调用,一般来说我们要准备2套静态库,一套是模拟器上使用的,一套是真机使用的, 创建静态库: 在Xcode中新建一个Project.选择如下图: 然后点next,下一步至于填写的东西随意. 创建完成后结构如下图: 未生成的静态库在Products下为红色, 然后随便在.h文件中写一个简单的方法sayHello; 代码如下: ? 1 2 3

关于cocoapods添加静态库的奇葩配置

不多说,直接上代码 当引入这个静态库时,一开始死活在编辑时找不到这个静态库. 直到看到这个贴子:http://stackoverflow.com/questions/19189463/cocoapods-podspec-issue 才知道,当出现这种情况时,一定要起一个名称是以lib开头的.真坑.

Xcode添加静态库以及编译选项配置常见问题

一,Xcode编译出现Link错误,出现"duplicate symbols for architecture i386 clang"提示.问题:链接时,项目有重名文件.解决:根据错误提示,做如下检查:1.Taraget->Build Settings->Link Binary With Libraries检查是否有重复lib.2.全工程搜索下重名文件,决定如何删除. 二,关于Category位于静态库时,引用该静态库的工程使用Category,出现"unreco

【转】QT中添加 动态库(.so) 和 静态库 (.a) 的方法

http://blog.csdn.net/yzj19870824/article/details/6933737 在QT 的Makefile文件中: 1 添加动态库,如lipcap.so 则,在LIBS一行中添加“-L/usr/local/lib -lpcap”,依据自己的情况修改libpcap.so的路径 2 添加静态库,如libtinyxml.a 则,在LIBS一行添加“/home/yzj/tinyxml/libtinyxml.a”: 在INCPATH一行添加“ -I /home/yzj/t

iOS中静态库-.a文件生成和使用

最近在使用使用一个网上的Demo的时候. 出现另一令人烦恼的问题 . 就是它里面有嵌套的工程. 如下图所示. 工程里面还嵌套有一个工程. 真的是让人煞费苦心 …其实这个问题看起来并不是很难, 如果是一般的工程的话, 解决方法有两种: 我可把嵌套工程里面的文件拖拽出来. 修改一些属性什么的应该可以使用了 还有一种方法就是我把嵌套里面的工程整个生成一个静态库文件.把我需要使用的文件的.h暴露出来使用.但是这个工程比较奇葩. 他里面是c++de一些文件. 如果直接拖拽的话会有各种引用文件错误的问题.

iOS开发>学无止境 - 全面了解 iOS 静态库开发

简介 在企业开发中,一些核心技术或者常用框架,出于安全性和稳定性的考虑,不想被外界知道,所以会把核心代码打包成静态库,只暴露头文件给程序员使用(比如:友盟.百度地图等第三方的sdk) 静态库和动态库的存在形式 静态库:.a 和 .framework 动态库:.dylib 和 .framework 静态库和动态库的区别 静态库:链接时,静态库会被完整地复制到可执行文件中,被多次使用就有多份冗余拷贝 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用,系统只加载一次,多个程序共用,节省