Clang 编译 Apple 全平台的 triple 和 sysroot 配置
May 04, 2024
Apple 平台上采用的是 Fat 模式的编译方式,就是编译的目标可以同时包含多种不同的架构,比如 macOS 上就可以同时包含 3 种架构: i386, x86_64 和 arm64。 Apple 平台的另一个…
Linux 中使用 Clang 的 Block 扩展
Apr 29, 2023
Block 是 Objtive-C 语言的一个特性,Clang 把这个特性作为扩展带到了 C/C++ 中: https://clang.llvm.org/docs/BlockLanguageSpec.html 先从 LLVM 的源安装最新版本的 Clang: sudo apt install lsb-release wget software-properties-common gnupg2 安装 LLVM 源: sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" 同…
bitcode 被废弃了
Sep 24, 2022
在 Xcode 14 的发布日志中: https://developer.apple.com/documentation/xcode-release-notes/xcode-14-release-notes Apple Clang Compiler Deprecations Starting with Xcode 14, bitcode is no longer required for watchOS and tvOS applications, and the App Store no longer accepts bitcode submissions from Xcode 14. Xcode no longer builds bitcode by default and generates a warning message if a project explicitly enables bitcode: “Building with bitcode…
Visual Studio 2022 中使用 Clang
May 15, 2022
本文适用 Visual Studio 2017 以及更高版本 下载 LLVM for Windows 当前最新的 LLVM 版本是 14.0.3,在以下链接可以下载官方编译好的版本: https://github.com/llvm/llvm-project/releases x86: LLVM-14.0.3-win32.exe x86_64: LLVM-14.0.3-win64.exe arm64: LLVM-14.0.3-woa64.zip 我下载的是 LLVM-1…
clang 跨平台编译 iOS/macOS arm64/x86_64
May 19, 2021
Target 不同的目标平台对应不同的 -target $triple 参数: iOS 平台: armv7:-target arm64-apple-darwin arm64:-target armv7-apple-darwin macOS 平台: i386:-target i386-apple-macos x86…
使用 -l 链接时,如何确定链接动态库还是静态库
Apr 25, 2021
比如:-lssl 是链接到 libssl.a 还是 libssl.so? 由编译参数决定: -Wl,-static,静态链接。 -Wl,-dynamic,动态链接。 如果…
在 Ubuntu 中使用 clang 替代 gcc
Apr 30, 2020
Ubuntu 20.04 LTS 源里的编译环境是 GCC 9,然而 GCC 最新的版本已经是 10 了。但是安装最新版本的 GCC 10 又没有简单的方法。 恰好 LLVM 也发布了 10 版本,clang 编译的速度比…