Windows on Snapdragon 使用指南(3)


2.4 使用 clang++ 和 GNU make 构建应用程序

对于使用 Windows x86 主机架构的开发人员来说,构建应用程序的另一个选项是在命令提示符中。

您可以选择安装 Snapdragon LLVM ARM 工具链或安装 LLVM 编译器工具。

注意:C# 代码可以构建为 ARM64,但不能构建为 ARM64EC。

安装 Snapdragon LLVM ARM 工具链

确保您已安装Qualcomm® Package Manager 3。安装 Snapdragon LLVM ARM 工具链需要包管理器。

  1. 使用Qualcomm® Package Manager - Windows安装Snapdragon LLVM ARM 工具链,其中包含最新版本的 Snapdragon LLVM ARM 工具链。

笔记
如果尚未安装,系统将提示您安装Qualcomm® Package Manager 3。

  1. 使用以下选项之一设置路径。

    • 在运行命令之前在命令行终端中make:
    • 通过编辑系统环境变量,将路径C:\Qualcomm\SnapdragonLLVMARM\16.1.0.0\bin添加到 Windows PATH环境中。
      a. 在系统属性中,单击环境变量。
      请添加图片描述
      b. 选择Path变量并单击编辑。
      请添加图片描述
      c. 单击“新建”,添加路径 C:\Qualcomm\SnapdragonLLVMARM\16.1.0.0\bin,然后单击 “确定”。
      请添加图片描述

    安装LLVM编译器工具

    1. 从https://www.mingw-w64.org/downloads/#llvm-mingw安装并配置 LLVM 编译器工具并将其解压缩到 C:\Program Files\llvm-mingw-ucrt\

      • 对于 Snapdragon 计算机上的 Windows,请下载 llvm-mingw-<日期>-ucrt-aarch64.zip
      • 对于 x86 计算机,请下载 llvm-mingw-<日期>-ucrt-x86_64.zip
    2. 在运行make命令之前在命令行终端中设置路径,以便可以链接.dll 。如果您的文件所在位置与步骤 1 不同,请务必使用特定于您的计算机的文件路径。

      set PATH=C:\Program Files\llvm-mingw-ucrt\bin;%PATH%;
      
      

      或者通过编辑系统环境变量将路径C:\Program Files\llvm-mingw-ucrt\bin添加到 Windows PATH环境中。

    3. 将C:\Program Files\llvm-mingw-ucrt\bin下的mingw32-make.exe重命名为make.exe。

构建一个HelloWorld项目

  1. 在c:\Users\source\repos\HelloWorld\HelloWorld文件夹中创建一个简单的helloworld.cpp项目。

    c:\Users\source\repos\HelloWorld\HelloWorld\helloworld.cpp
    
    
  2. Makefile在 c:\Users\source\repos\HelloWorld\HelloWorld文件夹中创建一个名为的 Makefile 。

    • X64:以下 Makefile 将代码编译为 X64 二进制文件
      
      ```c
      HelloWorld.exe: HelloWorld.cpp
           clang++ HelloWorld.cpp -o HelloWorld.exe
      ```
      确保其clang++前面有一个制表符。
      
    • ARM64:以下 Makefile 将代码编译为 ARM64 二进制文件:

      ```c
      HelloWorld.exe: HelloWorld.cpp
           clang++ --target=aarch64-w64-mingw32 HelloWorld.cpp -o HelloWorld.exe
      
      ```
      确保其clang++前面有一个制表符。
      
  3. 在HelloWorld文件夹中运行make命令来编译helloworld.cpp。
    根据所使用的 Makefile,在HelloWorldmake文件夹中的命令提示符中运行命令后,您应该在命令提示符中看到以下内容之一:

    C:\Users\%UserProfile%\source\repos\HelloWorld\HelloWorld>make
    clang++ --target=aarch64-w64-mingw32 HelloWorld.cpp -o HelloWorld.exe
    

    或者

    C:\Users\%UserProfile%\source\repos\HelloWorld\HelloWorld>make
    clang++ HelloWorld.cpp -o HelloWorld.exe
    

    HelloWorld.exe在HelloWorld文件夹中生成 。

2.5 使用 clang++ 和 CMake 构建应用程序

CMake ( cmake.exe ) 是一个跨平台的开源工具,用于定义在多个平台上运行的构建过程。适用于 Windows 的 C++ CMake 工具随 Visual Studio 2022 一起安装,作为使用 C++ 的桌面开发和使用 C++ 的 Linux 开发工作负载的一部分,这是跨平台开发所需的。要确认您的计算机上是否已安装 CMake,请cmake -version在计算机上的终端中运行该命令。如果安装了CMake,则在命令提示符中输出版本,您可以跳过以下步骤安装CMake,并转到创建CMakeLists.txt文件和构建目录。

从 GitHub 安装 CMake

  • 下载cmake-3.25.1-windows-x86_64.msi并保存到C:\Programs\cmake\或选择的位置。
  • 运行cmake-3.25.1-windows-x86_64.msi完成安装。
  • 将C:\Programs\cmake\bin添加到 Windows PATH环境中。

创建 CMakeLists.txt 文件和构建目录

  1. 在c:\Users\source\repos\HelloWorld\HelloWorld文件夹中创建一个简单的helloworld.cpp项目。

  2. 添加包含以下内容的CMakeLists.txt文件:

    project(helloworld) 
    cmake_minimum_required(VERSION 3.10) 
    add_executable(helloworld helloworld.cpp)
    
  3. 在与helloworld.c相同的位置打开命令提示符,然后运行以下命令以在与helloworld.c源文件相同的位置创建构建目录:

    C:\ ..\source\repos\helloworld\helloworld>mkdir build
    C:\ ..\source\repos\helloworld\helloworld> cd build
    

为 ARM64 构建

  1. -A ARM64 cmake 参数将代码交叉编译为 ARM64 二进制文件。

    C:\...HelloWorld\build> cmake ../ -G "Visual Studio 17 2022" -A ARM64
    
    
  2. 使用cmake --build <dir>命令来构建应用程序。

    C:\ ..\source\repos\helloworld\helloworld\build> cmake --build ./ --config Release
    
    
  3. 在build\Release\helloworld.exe中查找输出。

为 ARM64EC 构建

注意:C# 代码可以构建为 ARM64,但不能构建为 ARM64EC。

  1. -A ARM64EC cmake 参数将代码交叉编译为 ARM64EC 二进制文件。

     C:\...HelloWorld\build> cmake ../ -G "Visual Studio 17 2022" -A ARM64EC
    
    
  2. 使用cmake --build <dir>命令来构建应用程序。

     C:\ ..\source\repos\helloworld\helloworld\build> cmake --build .\ --config Release
    
    
  3. 在build\Debug\helloworld.exe中查找输出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值