我正在尝试生成 Ninja 生成文件,以使用 Clang 为 ARM Cortex A5 CPU 交叉编译 C++ 项目。我为 CMake 创建了一个工具链文件,但似乎存在我无法找到的错误或缺失的内容。当使用下面的工具链文件调用 CMake 时,我收到以下错误。
CMake 命令:
cmake -DCMAKE_TOOLCHAIN_FILE="..\Src\Build\Toolchain-clang-arm.cmake" -GNinja ..\Src\
输出:
-- C 编译器标识是 Clang 7.0.0 CMake Error at C:/Users/user/scoop/apps/cmake/3.13.4/share/cmake-3.13/Modules/CMakeDetermineCompilerId.cmake:802 (message): The Clang编译工具
“C:/Program Files/LLVM/bin/clang.exe”
以 MSVC ABI 为目标,但具有类似 GNU 的命令行界面。这不受支持。改用'clang-cl',例如在环境中设置'CC=clang-cl'。此外,使用 MSVC 命令行环境。调用堆栈(最近调用):
C:/Users/user/scoop/apps/cmake/3.13.4/share/cmake-3.13/Modules/CMakeDetermineCCompiler.cmake:113 (CMAKE_DIAGNOSE_UNSUPPORTED_CLANG) CMakeLists.txt:2 (PROJECT)-- 配置不完整,出现错误!
CMake 工具链文件(Toolchain-clang-arm.cmake):
set(CMAKE_CROSSCOMPILING TRUE)
SET(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_SYSTEM_PROCESSOR arm)
# Clang target triple
SET(TARGET armv7-none-eabi)
# specify the cross compiler
SET(CMAKE_C_COMPILER_TARGET ${TARGET})
SET(CMAKE_C_COMPILER clang)
SET(CMAKE_CXX_COMPILER_TARGET ${TARGET})
SET(CMAKE_CXX_COMPILER clang++)
SET(CMAKE_ASM_COMPILER_TARGET …Run Code Online (Sandbox Code Playgroud)