61bcdefg / Hikari-LLVM15

A fork of Hikari Obfuscator [WIP]
575 stars 160 forks source link

使用生成的ToolChian编译项目失败 #121

Closed lexiaoyao20 closed 2 months ago

lexiaoyao20 commented 2 months ago

1. 我的环境

Xcode 15.3 Apple M1 Pro 使用的代码分支:apple-arm64e-upstream-next

2. 编译生成ToolChain

# 拉取源码
git clone --branch apple-arm64e-upstream-next https://github.com/61bcdefg/Hikari-LLVM15.git
# 拉取子模块
git submodule update --init --recursive
mkdir build
cd build
# 生成编译项目
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 -DLLVM_ENABLE_PROJECTS=clang  -DLLVM_TARGETS_TO_BUILD="X86;ARM;AArch64" -DLLVM_ENABLE_ZSTD=OFF -DCMAKE_OSX_DEPLOYMENT_TARGET=12.0 -DLLVM_CREATE_XCODE_TOOLCHAIN=ON  -DLLVM_INCLUDE_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_UTILS=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_BUILD_TOOLS=OFF -DLLVM_INSTALL_TOOLCHAIN_ONLY=ON -DCMAKE_INSTALL_PREFIX="./install" ../llvm
# 编译
ninja
ninja install-xcode-toolchain
sudo mv ./install/Toolchains/Hikari_LLVM19.0.0git.xctoolchain /Library/Developer/Toolchains/

3. 选择 Xcode ToolChains为 hikari_llvm19.0.0git 去编译一个项目

编译不含Swift代码,报如下错误:ld: library '/Library/Developer/Toolchains/Hikari_LLVM19.0.0git.xctoolchain/usr/lib/clang/19/lib/darwin/libclang_rt.profile_ios.a' not found

编译 OC和Swift代码混编的项目会报如下错误:

Hikari_llvm_build_error

大佬,请教一下这个问题要如何解决,是我使用的代码分支不对吗

61bcdefg commented 2 months ago

从XcodeDefault.xctoolchain里复制静态库到你自己构建的toolchain里

lexiaoyao20 commented 2 months ago

谢谢,分别拷贝了 XcodeDefault.xctoolchain 里面的 clang/15.0.0/lib 目录 和 所有的Swift相关的文件,都能正常编译了