<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      解決 GCC 編譯錯誤:unrecognized command-line option ‘--target=aarch64-linux-gnu’ 依然沒有解決。環境:ubuntu + Rider + .net 9


      逐步解決 GCC 交叉編譯問題

      1. 確認交叉編譯工具鏈正確安裝

      在 Ubuntu 中安裝 ARM64 交叉編譯器需要明確指定完整的工具鏈:

      sudo apt update
      
      # 安裝完整的 ARM64 交叉編譯工具鏈(包含基本庫)
      sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu libc6-dev-arm64-cross
      
      # 驗證工具鏈版本
      aarch64-linux-gnu-gcc --version
      

      預期輸出

      aarch64-linux-gnu-gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
      

      如果未正確輸出版本信息,請檢查是否安裝完整;若有依賴沖突,嘗試使用 apt --fix-broken install


      2. 配置 .NET 項目的交叉編譯參數

      .csproj 文件中明確指定交叉編譯工具的路徑和前綴:

      <!-- 如果項目是 AvaloniaApplication1.csproj -->
      <Project Sdk="Microsoft.NET.Sdk">
        <PropertyGroup>
          <OutputType>Exe</OutputType>
          <TargetFramework>net9.0</TargetFramework>
          <RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
          <!-- 指定交叉編譯器前綴 -->
          <CrossCompilerToolchainPrefix>aarch64-linux-gnu-</CrossCompilerToolchainPrefix>
          <!-- 強制 .NET 原生編譯使用系統交叉編譯器 -->
          <UseSystemLinker>true</UseSystemLinker>
          <UseSystemCompiler>true</UseSystemCompiler>
        </PropertyGroup>
      </Project>
      

      3. 安裝必要的 .NET Native 運行時包

      確保已安裝匹配的運行時包:

      # 列出當前安裝的包
      dotnet list package
      
      # 如果缺失以下包,手動安裝
      dotnet add package Microsoft.NETCore.Runtime.MonoTargets.Sdk --version 9.0.0
      dotnet add package runtime.linux-arm64.Microsoft.NETCore.Runtime.MonoTargets.Sdk --version 9.0.0
      

      4. 清理并強制重新生成項目

      避免緩存導致配置未生效:

      dotnet clean
      dotnet restore --force
      dotnet build -c Release -r linux-arm64 /p:LinkDuringPublish=false
      dotnet publish -c Release -r linux-arm64 --self-contained true -v diag
      

      5. 強制指定鏈接器和編譯器路徑

      直接修改編譯命令以覆蓋默認路徑(適用于臨時測試):

      # 強制指定交叉編譯工具路徑
      dotnet publish -c Release -r linux-arm64 -p:CppCompilerAndLinker=aarch64-linux-gnu-gcc
      

      6. 檢查 .NET 的 ILCompiler 配置

      確認 ilc.rsp 參數文件是否包含沖突選項:

      如果項目目錄下存在 ilc.rsp 文件,刪除重試:

      rm -f obj/Release/net9.0/linux-arm64/native/*.rsp
      

      7. 驗證目標架構的輸出文件

      使用 file 命令檢查生成的可執行文件是否為 ARM64:

      file bin/Release/net9.0/linux-arm64/publish/AvaloniaApplication1
      

      預期輸出

      ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), dynamically linked, ..., not stripped
      

      如果輸出 x86_64 或未找到文件,則交叉編譯未生效。


      錯誤未解決的可能情況

      1. 不兼容的 GCC 版本
        如果 Ubuntu 源的交叉編譯器版本過低(例如 gcc-8),需要手動升級:

        # 添加第三方源(如 Linaro)
        sudo add-apt-repository ppa:linaro-maintainers/toolchain
        sudo apt update
        sudo apt install -y gcc-11-aarch64-linux-gnu g++-11-aarch64-linux-gnu
        # 創建符號鏈接
        sudo ln -sf /usr/bin/aarch64-linux-gnu-gcc-11 /usr/bin/aarch64-linux-gnu-gcc
        
      2. 缺失 ARM64 系統庫
        如果程序依賴第三方原生庫(如 openssl),需安裝 ARM64 版本:

        # 啟用多架構支持
        sudo dpkg --add-architecture arm64
        sudo apt update
        # 安裝 ARM64 庫
        sudo apt install -y libssl-dev:arm64 zlib1g-dev:arm64
        
      3. Rider IDE 的緩存問題
        在 Rider 中執行完整清理:

        • 菜單欄 → Build → Clean Solution
        • File → Invalidate Caches... → Invalidate and Restart

      最終修復結果驗證

      執行以下命令應生成無錯誤的 ARM64 可執行文件:

      dotnet publish -c Release -r linux-arm64 --self-contained true -p:CppCompilerAndLinker=aarch64-linux-gnu-gcc
      

      如果仍報錯,可以附加 -v diag > build.log 并檢查 build.loggcc 調用的完整參數是否符合預期。

      posted @ 2025-04-27 10:22  今天昔水  閱讀(831)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 激情亚洲内射一区二区三区 | 91中文字幕一区在线| 精品尤物TV福利院在线网站 | 亚洲人成网线在线播放VA| 亚洲国产长腿丝袜av天堂| 蜜臀av一区二区三区在线| 欧美成人精品手机在线| 亚洲国产av无码精品无广告| 狠狠干| 国产午夜精品福利免费不| 国产男女猛烈无遮挡免费视频| 天天色综网| 欧美日韩精品一区二区三区高清视频| 伊人春色激情综合激情网| 兴义市| 男女爽爽无遮挡午夜视频| 亚洲精品日本久久久中文字幕| 四虎国产精品成人| 亚洲欧美综合人成在线| 极品无码国模国产在线观看| 亚洲精品成人一二三专区| 国内不卡不区二区三区| 国内极度色诱视频网站| 97视频精品全国免费观看| 亚洲乱色熟女一区二区蜜臀| 男人扒开女人内裤强吻桶进去| 加勒比色综合久久久久久久久| 欧美在线一区二区三区精品| 99热门精品一区二区三区无码 | 小污女小欲女导航| 国产99视频精品免费专区| 欧美三级欧美成人高清| 五月丁香综合缴情六月小说| 国语对白刺激在线视频国产网红| 亚洲精品天堂在线观看 | 黄平县| 一本大道久久香蕉成人网| 202丰满熟女妇大| 亚洲欧洲一区二区三区久久| 国产不卡一区二区精品| 强奷漂亮少妇高潮麻豆|