报错9:'os/tsd.h' file not found
同样是找到文件位置,tsd.h文件在xnu-7195.141.2/libsyscall/os目录下
解决方式:
- 将tsd.h从xnu-7195.141.2/libsyscall/os目录下copy到JQDependencies/os/目录下
报错10:'System/pthread_machdep.h' file not found
同样是找到文件位置,pthread_machdep.h文件在Libc-825.40.1/pthreads目录下。
注意:经过一番探索,我发现pthread_machdep.h只在Libc-825.40.1及以下版本才有
解决方式:
- 将pthread_machdep.h从Libc-825.40.1/pthreads目录下copy到JQDependencies/System/目录下
报错11:'CrashReporterClient.h' file not found
同样是找到文件位置,CrashReporterClient.h文件在Libc-825.40.1/include目录下。
解决方式:
- 将CrashReporterClient.h从Libc-825.40.1/include目录下copy到JQDependencies/目录下
导入CrashReporterClient.h文件后,如果还报错,用以下两种方式解决:
- 第一种:需要在 Build Settings -> Preprocessor Macros 中加入:LIBC_NO_LIBCRASHREPORTERCLIENT
第二种:在CrashReporterClient.h中添加如下宏定义
报错12:Typedef redefinition with different types ('int' vs 'volatile OSSpinLock' (aka 'volatile int'))
pthread_lock_t重复定义了
解决方式:
- 注释掉 在*pthread_machdep.h文件中的定义
报错13:
Static declaration of '_pthread_has_direct_tsd' follows non-static declaration
和 Static declaration of '_pthread_getspecific_direct' follows non-static declaration
解决方式:
- 把这些声明在*pthread_machdep.h文件中注释掉就行
报错14:/JQDependencies/os/lock_private.h:288:37: Expected ','
解决方式:
- 把这个函数中的bridgeos(4.0)参数删除即可
报错15:Use of undeclared identifier 'dyld_fall_2020_os_versions'
** 解决方式:**
- 注释掉就行
报错16:'objc-shared-cache.h' file not found
同样是找到文件位置,objc-shared-cache.h文件在dyld-852.2/include目录下。
解决方式:
- 将objc-shared-cache.h从dyld-852.2/include目录下copy到JQDependencies/目录下
报错17:'objc-bp-assist.h' file not found
解决方式:
- 注释掉objc-bp-assist.h这个文件的引用
报错18:Use of undeclared identifier 'dyld_platform_version_macOS_10_13'
解决方式:
- 注释掉该段代码
报错19:Use of undeclared identifier 'dyld_platform_version_macOS_10_11'
解决方式:
- 注释掉该段代码
报错20:Use of undeclared identifier 'dyld_fall_2018_os_versions'
解决方式:
- 注释掉该段代码
报错21:'_simple.h' file not found
同样是找到文件位置,_simple.h'文件在libplatform-libplatform-220.100.1/private目录下。
解决方式:
- 将_simple.h从libplatform-libplatform-220.100.1/private目录下copy到JQDependencies/目录下
报错22:'os/linker_set.h' file not found
同样是找到文件位置,linker_set.h'文件在xnu-7195.141.2/bsd/sys目录下。
解决方式:
- 将linker_set.h从xnu-7195.141.2/bsd/sys目录下copy到JQDependencies/os目录下
报错23:'Cambria/Traps.h' file not found
解决方式:
- 文件开源网站找不到 ,选择注释头文件引用
报错24:'Block_private.h' file not foun
同样是文件缺失,Block_private.h这个文件在
libclosure-79/目录下
解决方式:
- 将Block_private.h从libclosure-79/目录下copy到JQDependencies/目录下
报错25:'kern/restartable.h' file not found
同样是文件缺失,restartable.h这个文件在
xnu-7195.141.2/osfmk/kern/目录下
解决方式:
- 在JQDependencies/目录下创建一个kern文件夹
- 将restartable.h从xnu-7195.141.2/osfmk/kern/目录下copy到JQDependencies/kern/目录下
报错26:**Use of undeclared identifier 'oah_is_current_process_translated' 和
Use of undeclared identifier 'objc_thread_get_rip'**
解决方式:
- 在objc_cache.mm文件中注释掉1121-1128行,保留1127行,如图:
报错27:'os/feature_private.h' file not found
解决方式:
- 这个引用头文件直接注释掉
报错28:'os/reason_private.h' file not found
同样是文件缺失,reason_private.h这个文件在
xnu-7195.141.2/libkern/os/目录下
解决方式:
- 将reason_private.h从xnu-7195.141.2/libkern/os/目录下copy到JQDependencies/os/目录下