error: Build input file cannot be found: '/xxxt/libfishhook.a'
用Xcode 10 编译老旧项目遇到的两个问题如下:
一、WebSocket / libfishhook.a 链接文件未找到
error:Build input file cannot be found:‘/Users/.../Libraries/WebSocket/libfishhook.a’
![](http://img.e-com-net.com/image/info10/c1c493970c9746a584574388b5a72051.jpg)
libfishhook.a 文件未找到
通常编译报 Build input file cannot be found错误,说明该文件存放位置有问题,只需要移除之后,重新添加一下文件就可以编译通过。如下:
![](http://img.e-com-net.com/image/info10/b66716a7b054439faf71965fa2afe5f6.jpg)
libfishhook.a 文件位置
二、library not found for -lstdc++.6.0.9 库未找到
ld: library not found for -lstdc++.6.0.9
clang: error :linker command failed with exit code 1 (use -v to see invocation)
1、Xcode 10 中移除了 “-libstdc++.6.0.9” 库,需要在旧版Xcode 9 中查找到“-lstdc++.6.0.9”库之后,复制一份放入Xcode 10 lib库中。
![](http://img.e-com-net.com/image/info10/80543adaf87347d3abe1e065370c109a.jpg)
苹果官方文档
可以在我的GitHub下载缺失的库文件,也可以在旧版Xcode 9 中查找,路径如下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib
使用快捷键打开:command + shift + G 前往文件夹
![](http://img.e-com-net.com/image/info10/c1fc37b5ef754079aa35311a33ba8416.jpg)
前往文件夹
![](http://img.e-com-net.com/image/info10/5a47c9b6412645fc92d1b35d81d121cc.jpg)
shift+command+G
2、找到这两个文件,复制到Xcode 10 lib库文件相同的位置,
![](http://img.e-com-net.com/image/info10/e61437020d734298b69bd068f27259c3.jpg)
lib库中的两个文件
3、如果用真机和者模拟器编译运行,请在iPhoneOS.platform(真机)和iPhoneSimulator.platform(模拟器)两个文件下的lib文件夹分别添加libstdc++6.0.9tbd和libstdc++.6.tbd两个文件。
![](http://img.e-com-net.com/image/info10/6eaacc2eaf8d40d4b426d96bbd2de648.jpg)
添加libstdc++ 文件
4、清除一下(shift+command+K)缓存,重新编译(command + B)一下即可。
作者:HowieDev
链接:https://www.jianshu.com/p/3e29e9d897c8
來源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。
react Native在release的过程中,总是会遇到一些奇怪的问题
xcode 9.3进行release的过程中,经常会出现这个问题
Build fails./Users/*****/node_modules/react-native/Libraries/Text/RCTTextField.m:131:108: Valuesoftype'NSInteger'should not be usedasformatarguments; add an explicit cast to'long'insteadRCTLogWarn(@"Native TextInput(%@) is %zd events ahead of JS - try to make your JS faster.", self.text, eventLag);Enum valueswithunderlying type'NSInteger'should not be usedasformatarguments; add an explicit cast to'long'instead
同时在RCTImage和RCTImageCache中都会出现相同的问题。
解决这个问题有两种途径,一个是把xcode降级到9.2,另一种则是把%zd改成lld并在eventLag的前面加上 (long long )。
最近手贱将xcode升级到10,然后在一开始builddebug版本时并没有太多问题,但是在release的时候碰到了一下问题
▸ Compiling vlog_is_on.cc❌ /Users/guillaumehain/Developments/companion/node_modules/react-native/third-party/glog-0.3.4/src/base/mutex.h:105:10:'config.h'filenotfound#include "config.h" // to figure out pthreads support^
为了解决这个问题,在查阅了github后进行了如下操作
$cdnode_modules/react-native/third-party/glog-0.3.4/ && ./configure
然后又出现了下面这个问题
[10:41:27]: ▸ Compiling signalhandler.cc[10:41:27]: ▸ ❌ /Users/guillaumehain/Developments/companion/node_modules/react-native/third-party/glog-0.3.4/src/signalhandler.cc:78:28: no member named'__rip'in'__darwin_arm_thread_state'[10:41:27]: ▸return(void*)context->PC_FROM_UCONTEXT;[10:41:27]: ▸
大晚上的差点气的摔了电脑,想想算了,毕竟自己手贱升级的,
又查阅了github之后,发现可以把(void*)context->PC_FROM_UCONTEXT改成NULL
即改成下面这个样子
return(void*)context->PC_FROM_UCONTEXT;== >returnNULL;
这样就可以进行release版本了,暂时为什么会出现这些问题,以及这样做有什么问题并不清楚,等之后有时间了再深究一下。
作者:niklause_sun
链接:https://www.jianshu.com/p/2eddaa458eb1
來源:
著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。