iOS invalid bitcode signature等常見錯誤

關于 invalid bitcode signature

今天拾起了一個老項目爱谁,調試了一下茅逮,出現如下錯誤憔购。

image

慣例Google了一下焦匈,搜索的關鍵字為:invalid bitcode signature赘淮,解決的方案很多辕录,如下所示:

invalid bitcode signature解決方案

1.Clean重啟

首先要做的就是網管的終極套路,關機重啟梢卸,所以我們遇到問題當然就是Clean Project and Build走诞,不行就Restart Xcode,其實很多莫名奇怪的問題都可以通過這樣的方案搞定蛤高,畢竟Xcode確實bug不少蚣旱,不知道是不是我的mac性能差碑幅,我的Xcode就經常出現找不到頭文件或者聯想不出關鍵字的問題。

2.修改Bitcode檢測
image

Bitcode.png

3.Build Active Architecture Only設置
image

Build Active Architecture Only.png

我把所有的組合搭配都試過了塞绿,Debug -> YES/NO沟涨,Release -> YES/NO,各種搭配异吻,各種配搭裹赴,無奈,It doesn't work诀浪。

4.刪除DerivedData文件夾

打開xcode找到Products文件夾 -> Products文件夾里的.app文件棋返,show in Finder 選擇三欄顯示模式 -> 往前滑找到DerivedData文件夾, 刪除 雷猪。

image

DerivedData.png

It doesn't work睛竣。

5.Custom Compiler Flags

在Building Seting -> 中 -> Custom Compiler Flags加 -> -fembed-bitcode

image

Custom Compiler Flags.png

It doesn't work。

至此春宣,基本上Google上所有的方案都是這幾個酵颁,然而都沒有解決我的問題,所以果斷換關鍵字搜索月帝,也就是linker command failed with exit code 1躏惋,可能出現的兩個Error都是因為linker command failed with exit code 1。

linker command failed with exit code 1解決方案

1嚷辅,看看是不是有新添加的文件跟之前文件同名
2簿姨,錯誤信息中出現了某個類的名字,去原文件中看看#import了哪些第三方庫簸搞,把這些庫挨個注釋排除扁位,找到出錯的那個庫,然后按照官方提供的步驟重新添加一遍趁俊。
3.SVN或git忽略了某些文件域仇,如.o 等文件沒能update下來,查看.o文件可能是紅色的寺擂,可以重新添加或者修改SVN(git)的忽略設置
4.把.a文件刪除再重新拖到項目中解決問題
5.可能重復添加了文件(也可能沒勾選 Copy items if neded 這個選項)暇务,建議刪除后重新添加
6.工程中文件名重復了 也會出現同樣的錯誤
7.”Build Settings”->”Enable Bitcode”設置為NO ,因為有些SDK不支持Bitcode
8.可能在引用的時候 可能寫的是#import "XXXXX.m" 怔软,如果是改為#import "XXXXX.h"
9.可能你導入的SDK只能在真機下才能運行垦细,模擬器會報錯!
10.找到 Build settings->Linking->Other Linker Flags將此屬性修改成-all_load 或者 -ObjC
11.Build settings->Search Path->Library Search Paths 添加靜態(tài)庫的相應路徑

我的解決方案

以上方案我基本上都做了挡逼,無奈還是沒搞定括改,我就在猜測是不是靜態(tài)庫版本的問題,因為我的Xcode已經升級到了最新的版本家坎,而項目是挺老的項目了嘱能,所以秉承著打破砂鍋問到底的精神果斷去下載老版本的Xcode吝梅,通常我們可以在App Store應用商店中免費下載Xcode的最新版本,但如果我們想要獲取特定版本呢焰檩?蘋果在開發(fā)者網站中提供了歷史所有版本的系統(tǒng)和開發(fā)工具的下載憔涉,網址:developer.apple.com/download/mo…
幸運的是公司的網絡比較快析苫,Xcode7很快下載下來了兜叨,然后及時如何讓兩個版本共存,其實直接給Xcode改名即可衩侥,可以一個版本保留原名国旷,另一個版本加上版本號。也可以給多個版本都加上版本號茫死,例如Xcode7和Xcode8跪但。需要注意的是,如果你有使用第三方開發(fā)工具峦萎,請盡量避免在名稱中出現空格屡久。
Xcode安裝好了以后,果斷真機調試爱榔,你猜的沒錯Could not find Developer Disk Image被环,公司最低版本的手機為iOS 9.3.5的iPhone4s,而我下載的Xcode7最高支持的設備為iOS 9.0详幽,此時解決的辦法有兩個筛欢,要么升級Xcode,要么下載該Disk Image唇聘,兩者相比較當然是厚顏無恥的去問別人要了一個9.3版本的Disk Image版姑,然后放到/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport目錄下,重啟Xcode迟郎,編譯運行通過剥险。

iOS 經典錯誤library not found for -lXXX

開發(fā)中經常會和ibrary not found for -xxx打交道,尤其是我們從遠程倉庫或者github clone下來一個項目宪肖,編譯很有可能報這個錯誤炒嘲。如下圖:

image

library not found for -lXXX 屬于iOS經典錯誤之一。下面我們通過復現這個錯誤的方式來說明這個錯誤的解決方法匈庭。其中l(wèi)是lib(library)的意思。

首先聲明浑劳,我的工程中引用了友盟的統(tǒng)計SDK阱持,名稱叫做libMobClickLibrary.a。存儲在 third_party目錄下魔熏,如下圖(左圖為libMobClickLibrary.a在工程目錄/虛擬目錄的位置衷咽,右圖為libMobClickLibrary.a在磁盤目錄/物理目錄的位置):

image
image

沒有配置Library Search Paths導致報錯

(1)刪除building setting -> Library Search Paths下的 $(PROJECT_DIR)/YunFu/third_party/UMAnalytics鸽扁。如下圖:
那么,你可能會問镶骗,為什么要刪除這個路徑而不是其他的路徑呢桶现?因為我知道這個路徑就是libMobClickLibrary.a靜態(tài)庫的目錄。

image

(2)command + B編譯項目鼎姊,然后不出所料骡和,我們會遇到下面這個錯誤:

image

(3)點開這個錯誤,然后就能看到這個經典錯誤相寇,如下圖:
這個錯誤的意思是找不到名字叫做 MobClickLibrary的庫慰于。

image

至此,我們可知唤衫,就因為我們在Library Search Paths下刪除了$(PROJECT_DIR)/YunFu/third_party/UMAnalytics 導致報這個library not found for -lMobClickLibrary的錯誤婆赠。所以下次遇到同類問題,我們便可知道某個靜態(tài)庫的路徑可能沒有配置佳励。

結論一:沒有配置靜態(tài)庫的search路徑導致出現library not found for lXXX休里。
注意:設置的路徑必須是靜態(tài)庫在磁盤下的路徑(物理目錄),不能設置為項目的虛擬目錄赃承。拿此例來說妙黍,libMobClickLibrary.a的在項目中是放在third_party文件夾下的,而其真正的磁盤路徑是third_party下的UMAnalytics文件夾楣导。


沒有正確配置Library Search Paths導致報錯

上面的情況是废境,我們沒有配置某個靜態(tài)庫的路徑會導致library not found for lXXX錯誤。而有時候筒繁,我們確實在Library Search Paths下配置了靜態(tài)庫路徑噩凹,卻依然報同樣錯誤。此時我們就要考慮毡咏,這個路徑配置的到底對不對驮宴。如下圖(分別是libMobClickLibrary.a正確的路徑和錯誤的路徑):
正確路徑:

image

錯誤路徑(去掉了最后一級目錄"/UMAnalytics"):

image

編譯項目依然會報同樣的錯誤library not found for -lMobClickLibrary.a,如下圖:

image

歸根到底呕缭,原因在于堵泽,我們雖然跟他指定了libMobClickLibrary.a的目錄,但是在所指定的目錄下沒有搜索到靜態(tài)庫libMobClickLibrary.a恢总。此時又分為兩種情況:

  • 情況一:如果我們指定的目錄和靜態(tài)庫libMobClickLibrary.a的目錄完全不相關迎罗,那么需要重新到Library Search Paths下設置(注意:設置的是靜態(tài)庫的磁盤路徑)。

  • 情況二:如果我們指定的目錄和靜態(tài)庫的目錄有關系片仿。即纹安,我們指定的目錄是靜態(tài)庫所在目錄的上級目錄,或者是上上級目錄。這種情況下厢岂,無需指定靜態(tài)庫的精確的路徑光督,只需要把non-recursive選項修改為recursive即可。如下圖:

    image

因為recursive選項代表在我們指定的目錄下遞歸搜索靜態(tài)庫塔粒。即结借,如果在當前目錄沒有搜索到靜態(tài)庫,那么就去當前目錄的子目錄下繼續(xù)搜索卒茬。默認情況下是non-recursive(非遞歸)的船老。

結論二:雖然Library Search Paths 中配置了靜態(tài)庫的search路徑。但是沒有正確配置而導致出現library not found for lXXX扬虚。


導入第三方framework靜態(tài)庫編譯報錯xxx.h file not found

上面講的是當我們項目導入的是.a靜態(tài)庫努隙,但因為沒有在 Library Search Paths 中配置.a靜態(tài)庫的search路徑,或者是雖然配置了路徑但是路徑配置錯誤而導致出現library not found for -xxx錯誤的解決辦法辜昵。
但我們知道荸镊,在iOS中,靜態(tài)庫有兩種形式:.a格式的靜態(tài)庫和.framework格式的靜態(tài)庫堪置。
那么如果我們的項目中引入了.framework格式的靜態(tài)庫要不要配置search路徑呢躬存?答案是肯定的,無論我們以什么方式導入.framework靜態(tài)庫(cocoapods的方式或者直接把framework靜態(tài)庫拖拽到項目中的方式)舀锨,如果沒有配置framework的search路徑岭洲,同樣會報錯,但報的錯誤卻是和.a格式的靜態(tài)庫有些不同坎匿,如果我們項目中引入了framework格式靜態(tài)庫也使用了靜態(tài)庫(所謂使用就是import了framework靜態(tài)庫中的某個頭文件)盾剩,但沒有配置search路徑,那么就會報 xxx.h file not found 這類錯誤替蔬。如下圖:

image

因為我的項目中引入了一個叫做PushCenterSDK.framework的靜態(tài)庫告私。同時也使用了這個靜態(tài)庫中的某個API。如下圖所示承桥,分別是靜態(tài)庫在項目中的路徑和磁盤路徑:

image
image

我們依然采用復現問題的方式來驗證解決錯誤的方法驻粟,首先,我的項目是可以編譯通過的凶异,然后嘗試在build setting -> Framework Search Paths 下刪除PushCenterSDK.framework的搜索路徑(磁盤路徑)蜀撑,下圖分別是刪除前和刪除后的截圖:

刪除前:

image

刪除后:

image

刪除路徑之后編譯項目,發(fā)現出現了如下錯誤XXX.h file not found剩彬, 如下圖:
很顯然酷麦,沒有找到PushCenterSDK 下的TBSDKPushCenterEngine.h文件。

image

綜上喉恋,framework靜態(tài)庫的路徑也是必須的贴铜,如果項目中的framework靜態(tài)庫的路徑配置錯誤或者沒有配置就會報錯 xxx.h file not found 類似錯誤粪摘。下次遇到這類錯誤,便可以從framework search paths 著手思考绍坝。

同樣,framework靜態(tài)庫的搜索路徑也支持遞歸搜索苔悦,我們不必配置一個精確無誤的路徑轩褐,可以指定一個父級目錄,然后選擇 recursive玖详。

結論:無論我們以什么方式導入.framework靜態(tài)庫(cocoapods的方式或者直接把framework靜態(tài)庫拖拽到項目中的方式)把介,如果沒有配置framework的search路徑,同樣會報錯蟋座,但報的錯誤卻是和.a格式的靜態(tài)庫有些不同拗踢,如果我們項目中引入了framework格式靜態(tài)庫也使用了靜態(tài)庫(所謂使用就是import了framework靜態(tài)庫中的某個頭文件),但沒有配置search路徑向臀,那么就會報 xxx.h file not found 這類錯誤

在開發(fā)的過程中難免會遇到很多的錯誤巢墅,可是當看到系統(tǒng)給出的英文時,又不知道是什么意思券膀。所以這篇文章總結了Xcode中常見的一些英文單詞及詞組君纫,可以幫助初學的人快速了解給出的提示。多練習芹彬,就肯定能基本掌握蓄髓。
expression:表達式
assignable:賦值> variable:變量+> redefinition:重復定義> type:類型> conflicting:沖突項> invalid:無效的> conversion:轉換> specifier:說明符> indent:縮進> operands:運算對象、操作數> binary:二進制> expected:期望> logical:邏輯> const :常量> constant:常量> statements:語句> initialization:初始化> condition:條件> increment:增量> index:索引舒帮、下標> abbrev:簡寫会喝、縮寫> alias:別名归敬,化名> modified:修改/改進的> parameter:參數> implicit:隱含的> undo:取消> redo:重做> cancel:取消> octal:八進制的> incompatible:不匹配的> duplicate:重復> action:行為> instance:實例> modify:修改> general:普通的 in general:大體诊笤,一般來說> subclass:子類> superclass:父類> inherit:繼承> contents:內容> primitive:原始的> modify:修改> ordered:有序的> collection:集合> dynamic:動態(tài)的> querying:查詢> deriving:派生> description:描述兵迅,描寫> collection:集合> programmatic:編程的> a set of:一系列取试、一組> overview :概述> related 相關的> declared in:聲明在...(文件里)> availability:可用的> framework:框架媚赖、類庫> Conforms to:服從....協(xié)議> Conforms :服從> dynamic:動態(tài)> term:條目> exact:確切的> membership:成員> entry:條目> consists of:由...組成> unique:獨特的矫限、唯一的> determined:決定> conform to:服從催式,遵照> protocol:協(xié)議> distinct:不同的徽曲、獨特的> addition:添加临庇、增加> literals:字面量> denote:表示反璃,指示> category:類目、分類> concrete:具體的> decouples:解耦> KVC:Key-Value Coding:鍵值對編碼> > Getting Numeric Values:獲得一個數值> Identifying and Comparing Strings:識別和比較字符串> Replacing Substrings:替換子串> Finding Characters and Substrings:查找字符和子串> Dividing Strings:分割字符串> Combining Strings:拼接字符串> Getting C Strings:得到c語言的字符串> Getting Characters and Bytes:獲取字符或字節(jié)> Getting a String’s Length:得到字符串的長度> Writing to a File or URL:把內容寫到一個文件或者URL里> Creating and Initializing a String from a File:從文件里創(chuàng)建并初始化一個字符串> Deprecated:棄用> Creating and Initializing Strings:創(chuàng)建初始化字符串> tasks:功能> Adopted Protocols:采用的/服從的協(xié)議

1: local declaration “XXX”hide instance variable
reason:一般是你函數里面定義的變量和class屬性變量重名了假夺。很少有和系統(tǒng)變量重名的情況淮蜈。 這樣的情況,修改一下變量的名字就好已卷。

2梧田、Undefined symbols for architecture x86_64:
可能由于某些類庫不支持64位Architecture造成,
可以在項目Build Setting=》Architecture設為非64位的選項

3、編譯warning:ld: warning: directory not foundfor option

選擇工程, 編譯的 (targets)
選擇 Build Settings 菜單
查找 Library Search Paths 和 Framework Search Paths裁眯,刪掉編譯報warning的路徑即OK

4鹉梨、Undefined symbols for architecture armv7s: “OBJC_CLASS$_SZAdWebViewDelegate”, referenced from:xxxx
查找了半天,總以為缺少某個文件穿稳,后對比正常的sample發(fā)現問題出在armv7s存皂,這是針對iPhone5 cpu優(yōu)化的編譯,可能你某個庫不支持逢艘,解決方法是:
Build Setting->Build Active Architecture only 的值由NO設為YES旦袋,查了一下這個選項的資料:

這個屬性設置為yes,是為了debug的時候編譯速度更快它改,它只編譯當前的architecture版本疤孕。
而設置為no時,會編譯所有的版本央拖。
這個是設備對應的architecture:
armv6:iPhone 2G/3G祭阀,iPod1G/2G
armv7:iPhone 3GS/4/4s,iPod3G/4G爬泥,iPad1G/2G/3G
armv7s:iPhone5, iPod5
編譯出的版本是向下兼容的(不太對柬讨,應該說,設備是向下兼容的)袍啡,比如你設置此值為yes踩官,用iphone4編譯出來的是armv7版本的,iphone5也可以運行境输,但是armv6的設備就不能運行蔗牡。
所以,一般debug的時候可以選擇設置為yes嗅剖,release的時候要改為no辩越,以適應不同設備。

5信粮、Xcode “Attaching to…” 卡住黔攒,模擬器停留在啟動界面
網上有很多方法,什么Clean Build Folder强缘,和各種刪除督惰,但有一個點是優(yōu)先要考慮的,就是host沒有修改過旅掂,修復如下:

1赏胚、error: macro names must be identifiers YourProject_prefix.pch
原因: 因為你弄臟了預處理器宏,在它處于<Multiple Values>的時候修改了它
解決方法: Configiration選擇All Configirations商虐,清空它 然后分別重新定義你的Debug,Release,Distributin預處理器宏吧
2觉阅、warning: no rule to process file '$(PROJECT_DIR)/LoadingView.h' of type sourcecode.c.h for architecture armv6
原因: Target里Compile Sources里含有頭文件 了崖疤,那里面不需要頭文件
解決方法: 從Target里Compile Sources里刪除頭文件
3、Command /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Plug-ins/iPhoneOS Build System Support.xcplugin/Contents/Resources/copypng failed with exit code 1
原因: png圖像文件拷貝失敗典勇,看看信息上面提示Can't find哪個文件劫哼,一般都是從文件系統(tǒng)里刪除文件而沒有通過Xcode刪除造成的,Xcode的項目配置文件依然紀錄著這個文件的引用
解決辦法: 給文件系統(tǒng)里增加相應的文件割笙,或者從Xcode的Groups & Files刪除它沦偎,或者從Target的Copy Bundle Resources里刪除它
4、Code Sign error: The identity 'iPhone Developer: Your Name' doesn't match any valid certificate/private key pair in the default keychain
原因: 簽名錯誤
解決辦法: Target -> Get Info -> Build -> Code Signing -> 修改簽名
記得左上角的Configuration類型要跟當前Build類型對應(Debug, Release, Distribution)咳蔚,否則改了也白改
5、could not create bundle folder for versioned model *.moda(好像是這個后綴名的這個文件)
原因:編譯一次會產生一個新的
解決辦法:應該把編譯產生出來的moda文件都刪了,然后clean下工程,重新build即可
6搔驼、error:There are no valid certificate/private key pairs in the default keychain
7谈火、error:Cannot assign to 'self' outside of a method in the init family
原因:只能在init方法中給self賦值,Xcode判斷是否為init方法規(guī)則:方法返回id舌涨,并且名字以init +大寫字母開頭+其他 為準則糯耍。例如:- (id) initWithXXX;
出錯代碼:- (id) Myinit{
self = [super init];
……
}
解決方法:- (id) initWithMy
{
self = [super init];
}

1, iOS真機調試時囊嘉,報錯:failed to get the task for process 20900
原因:
證書問題温技,project和targets的證書都必須是開發(fā)證書,ADHOC的證書會出現此問題扭粱。
解決方案:
project和targets的證書使用開發(fā)證書舵鳞。
2,當 一個socket正在連接琢蛤,這時又一個新的socket建立鏈接蜓堕,會拋出錯誤 “ Attempting to connect while connected or accepting connections. Disconnect first.”。
原因:
第一個socket還沒返回isConnected 為YES博其, 就建立第二個socket連接套才。
解決方案:
AsyncSocket有個屬性叫isDisconnected,但接口并未開放慕淡,將- (BOOL)isDisconnected;
加入到AsyncSocket.h中背伴。
然后在連接處:
if(![_sendSocket isDisconnected])
{
[_sendSocket disconnect];
}
3,tcp socket willDisconnectWithError:Error Domain=NSPOSIXErrorDomain Code=65
"The operation couldn’t be completed. No route to host"
No route to host (socket error ::10065)
產生此問題的原因:網絡連接不上此服務器峰髓。
解決:查看ip是否正確傻寂,查看調試設備網絡連接是否正常。
4,報錯:CALayer bounds contains NaN:
繪圖時儿普,某個長寬值中包含除數為0的操作崎逃。

5,報錯:libxml/tree.h not found
解決方案:
步驟1:
工程-->PROJECT-->Build Settings
將“Header Search Paths”的值設置為<${SDK_DIR}/usr/include/libxml2>即可。
步驟2:
工程-->TARGETS-->Build Settings
將“Header Search Paths”的值設置為<${SDK_DIR}/usr/include/libxml2>即可眉孩。
我虐代碼千百遍个绍,代碼待我如初戀勒葱!

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市巴柿,隨后出現的幾起案子凛虽,更是在濱河造成了極大的恐慌,老刑警劉巖广恢,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件凯旋,死亡現場離奇詭異,居然都是意外死亡钉迷,警方通過查閱死者的電腦和手機至非,發(fā)現死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來糠聪,“玉大人荒椭,你說我怎么就攤上這事〗Ⅲ。” “怎么了趣惠?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長身害。 經常有香客問我味悄,道長,這世上最難降的妖魔是什么塌鸯? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任侍瑟,我火速辦了婚禮,結果婚禮上界赔,老公的妹妹穿的比我還像新娘丢习。我一直安慰自己,他們只是感情好淮悼,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布咐低。 她就那樣靜靜地躺著,像睡著了一般袜腥。 火紅的嫁衣襯著肌膚如雪见擦。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天羹令,我揣著相機與錄音鲤屡,去河邊找鬼。 笑死福侈,一個胖子當著我的面吹牛酒来,可吹牛的內容都是我干的。 我是一名探鬼主播肪凛,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼堰汉,長吁一口氣:“原來是場噩夢啊……” “哼辽社!你這毒婦竟也來了?” 一聲冷哼從身側響起翘鸭,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤滴铅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后就乓,有當地人在樹林里發(fā)現了一具尸體汉匙,經...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年生蚁,在試婚紗的時候發(fā)現自己被綠了噩翠。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡邦投,死狀恐怖绎秒,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情尼摹,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布剂娄,位于F島的核電站蠢涝,受9級特大地震影響,放射性物質發(fā)生泄漏阅懦。R本人自食惡果不足惜和二,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望耳胎。 院中可真熱鬧惯吕,春花似錦、人聲如沸怕午。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽郁惜。三九已至堡距,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兆蕉,已是汗流浹背羽戒。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留虎韵,地道東北人易稠。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像包蓝,于是被迫代替她去往敵國和親驶社。 傳聞我的和親對象是個殘疾皇子企量,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內容

  • 僅以方便自己查閱記錄前言1.靜態(tài)庫和動態(tài)庫有什么異同?靜態(tài)庫:鏈接時完整地拷貝至可執(zhí)行文件中衬吆,被多次使用就有多份冗...
    190CM閱讀 4,213評論 0 4
  • 靜態(tài)庫與動態(tài)庫的區(qū)別 首先來看什么是庫逊抡,庫(Library)說白了就是一段編譯好的二進制代碼姆泻,加上頭文件就可以供別...
    吃瓜群眾呀閱讀 11,939評論 3 42
  • 對山說出的誓言早已被風打斷 佛前許愿只是安排好的上上簽 歲月步步緊逼著頭上的發(fā)際線 往日的詩句挽不回沉沒的泰坦船 ...
    青鵝閱讀 156評論 0 0
  • 十九大報告提出,必須把教育事業(yè)放在優(yōu)先位置冒嫡,加快教育現代化拇勃,辦好人民滿意的教育。 教育信息化必將帶...
    河北南和劉志玉閱讀 878評論 0 2