Undefined symbols ___isOSVersionAtLeast when use #ifdef __IPHONE_11_0
Closed this issue · 10 comments
MrChens commented
Mac OS 10.14
Xcode Version 10.1 (10B61)
git clone -b release_70 https://github.com/HikariObfuscator/Hikari.git Hikari && mkdir Build && cd Build && cmake -G "Ninja" -DLLDB_CODESIGN_IDENTITY='' -DCMAKE_BUILD_TYPE=MinSizeRel -DLLVM_APPEND_VC_REV=on -DLLVM_CREATE_XCODE_TOOLCHAIN=on -DCMAKE_INSTALL_PREFIX=~/Library/Developer/ ../Hikari && ninja &&ninja install-xcode-toolchain && git clone https://github.com/HikariObfuscator/Resources.git ~/Hikari && rsync -a --ignore-existing /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/ ~/Library/Developer/Toolchains/Hikari.xctoolchain/ && rm ~/Library/Developer/Toolchains/Hikari.xctoolchain/ToolchainInfo.plist
Xcode
-->Toolchains
-->Hikari
Undefined symbols for architecture arm64:
"___isOSVersionAtLeast", referenced from:
-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang-7: error: linker command failed with exit code 1 (use -v to see invocation)
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
#ifdef __IPHONE_11_0
if (@available(iOS 11.0, *)) {
NSLog(@"打我啊");
}
#else
#endif
// Override point for customization after application launch.
return YES;
}
- delete
#ifdef __IPHONE_11_0
,#else
,#endif
, that work fine.
Naville commented
You probably need to explicitly link to compiler-rt, available in your LLVM Toolchain directory
MrChens commented
👌, 3Q.
Naville commented
Sorry I mean clang-rt, at Hikari.xctoolchain/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.ios.a
(or macOS suffix)
change1wang73 commented
Sorry I mean clang-rt, at
Hikari.xctoolchain/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.ios.a
(or macOS suffix)
hello,I can't understand what do u mean。 Can you explain it in more detail? what it's “clang-rt”?
tuyuwang commented
可以说一下具体解决办法吗,谢谢
Naville commented
上面写的很清楚连路径都给了
laughingsir commented
Sorry I mean clang-rt, at
Hikari.xctoolchain/usr/lib/clang/10.0.0/lib/darwin/libclang_rt.ios.a
(or macOS suffix)
这个文件放进xcode工程中就行了,thx!