You need to enable JavaScript to run this app. GitHub Actions构建含C++原生代码的Android应用出现NDK头文件找不到报错
优惠活动
大模型
产品
解决方案
定价
更多

GitHub Actions构建含C++原生代码的Android应用出现NDK头文件找不到报错

问题根因

核心为跨平台路径分隔符不兼容导致的头文件查找失败:

  • 本地Windows系统的合法路径分隔符为反斜杠\,而GitHub Actions默认使用的Ubuntu Runner属于Linux类系统,路径分隔符仅识别正斜杠/,你代码中写的反斜杠路径在Linux环境下会被识别为非法路径,因此无法定位到目标头文件。

解决方案

  1. 替换所有C/C++代码中头文件引入的路径分隔符为正斜杠/,将报错的引入行修改为:
#include "vendor/RakNet/SAMP/samp_netencr.h"

正斜杠路径可被Windows、Linux、macOS全平台的NDK编译器正常识别,修改后不会影响你本地Windows设备的构建流程。

  1. 校验构建配置中的头文件搜索路径是否正确:
  • 若使用ndk-build(Android.mk)构建,确认LOCAL_C_INCLUDES配置已包含cpp根目录:
LOCAL_C_INCLUDES += $(LOCAL_PATH)/src/main/cpp
  • 若使用CMake构建,确认include_directories配置已包含cpp根目录:
include_directories(src/main/cpp)
  1. 可选:在CI工作流中添加路径校验步骤,确认目标头文件确实存在于对应路径:
- name: 校验头文件路径
  run: ls -R app/src/main/cpp/vendor/RakNet/SAMP/

内容的提问来源于stack exchange,提问作者A. George

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 06:06:02