MAIN.c(1): warning C318: can’t open file ‘STC8G.H’ 报错 解决 分析

代码编辑器环境:

在这里插入图片描述

过程:

你曾经编译过stc89C52RC或者STC89C51等。

条件:第一次 运行主控芯片是STC8G1K08-38I-TSSOP20,也就是STC8G1K08系列。

报错:

MAIN.c(1): warning C318: can't open file 'STC8G.H' 这个报错,

报错原因

warning C318: can't open file 'STC8G.H'

意思:Keil 编译器找不到 STC8G.H 这个头文件。

解决思路:找到包含或者自己创建文件夹包含这个头文件!

1:打开软件"STC-ISP"

2:点击

截图就是 STC‑ISP 的【头文件】标签页,已经自动生成好了 STC8G 系列的头文件源码,下面给你 2 套方案:方案 A(推荐,最简单,复制进工程文件夹) ;方案 B(安装到 Keil 系统 INC 目录,全局可用)

方案A:不过多赘述;

方案B:

把 STC8G.H 安装到 Keil 系统 INC 目录,全局使用(以后所有 STC8G 工程都能用#include <STC8G.H>)

⚠️必须右键,以管理员身份运行 STC-ISP软件,否则无法写入 Keil 安装目录

  1. STC‑ISP 顶部切换到【Keil 仿真设置】标签页
  2. 点击【添加 STC 单片机到 Keil 中】,选择你的 Keil 安装目录( 文件夹)也就是本文章的第一张截图的
    在弹出文件夹选择窗口,选中文件夹:D:\software\KEILC51(选这一层!不要点进 C51文件夹 里面)
  3. ,确认,会自动把 STC8G.H 写入C51\INC\STC文件夹
  4. 打开 Keil,打开魔法棒(Options for Target → C51 选项卡)
  5. 在 Include Paths 点添加,填入路径:C:\Keil_v5\C51\INC\STC(改成你自己 Keil 实际路径)
  6. main.c 写:#include <STC8G.H>
  7. 编译,警告消除。
总结:
  1. 重新编译,can't open file 'STC8G.H'警告消失。

校验是否成功

打开文件夹 D:\software\KEILC51\C51\INC\STC,如果里面出现STC8G.H,代表导入成功。

烧录补充:

芯片选择要带上针脚数量,否则报错芯片不匹配

相关推荐
apcipot_rain8 小时前
C++转Java日记(06)
java·开发语言
SomeOtherTime15 小时前
Rust所有权(AI回答)
开发语言·后端·rust
Easyhood15 小时前
Android 开发入门实践(十四):Compose 副作用入门与四个常用 API
android·开发语言·kotlin·android jetpack·compose
白杨尚青16 小时前
C++进阶篇(六):map 和 set 的模拟实现——用红黑树封装 mymap/myset(迭代器 + operator[])
开发语言·c++·迭代器·stl·set·map·红黑树
饮水桶_T20 小时前
JAVA IO流笔记
开发语言·数据结构·算法
我不会起名字32220 小时前
seq 空洞排查:Mongo 的 51 只是预留上界,Redis CURR 才是已消耗边界
redis·后端·mongodb·go·即时通讯·im·故障排查
Felven1 天前
C. Brr Brrr Patapim
c语言·开发语言
路溪非溪1 天前
python标准库使用总结
开发语言·python
Zwawa1 天前
嵌入式OLED表驱动菜单:用一张表、一个栈和一个窗口重写表驱动菜单
c语言·单片机·嵌入式
SomeOtherTime1 天前
Rust 面向对象介绍(AI回答)
开发语言·python·rust