嵌入式学习~ 2022-10-24 23:50 采纳率: 50%
浏览 16
已结题

linux下make编译头文件未知变类型名

在linux下使用make编译是已经.h文件中包含了类型,但是编译提示未知类型名
用代码块功能插入代码,请勿粘贴截图
 mytbf.c 
    1 #include "mytbf.h"
    2 #include <stdlib.h>
    3 #include <stdio.h>
    4 #include <signal.h>
    5 #include <unistd.h>
 mytbf.h
  1 #ifndef MYTBF_H__
  2 #define MYTBF_H__
  3 
  4 #define MYTBF_MAX  1024
  5 
  6 struct mytbf_t  *mytbf_init(int cps,int burst);
  7 int mytbf_fetchtoken(mytbf_t *ptr,int size );
  8 int mytbf_returntoken(mytbf_t *ptr,int size);
  9 int mytbf_destory(mytbf_t *ptr);
 10 
 11 #endif       
 1: main.c
    1 #include <stdio.h>
    2 #include <stdlib.h>
    3 #include <unistd.h>
    4 #include <sys/types.h>
    5 #include <sys/stat.h>
    6 #include <errno.h>
    7 #include <signal.h>
    8 #include <fcntl.h>
    9                                                                                                                              
   10 #include "mytbf.h"


运行结果及报错内容

In file included from main.c:9:0:
mytbf.h:7:22: 错误:未知的类型名‘mytbf_t’
int mytbf_fetchtoken(mytbf_t *ptr,int size );
^
mytbf.h:8:23: 错误:未知的类型名‘mytbf_t’
int mytbf_returntoken(mytbf_t *ptr,int size);
^
mytbf.h:9:19: 错误:未知的类型名‘mytbf_t’
int mytbf_destory(mytbf_t *ptr);
^
main.c: 在函数‘main’中:
main.c:21:3: 错误:未知的类型名‘mytbf_t’
mytbf_t *tbf;
^
main.c:27:7: 警告:从不兼容的指针类型赋值 [默认启用]
tbf = mytbf_init(CPS,BURST);
^
main.c:79:17: 错误:‘def’未声明(在此函数内第一次使用)
mytbf_destory(def);

我的解答思路和尝试过的方法

我感觉是main函数有问题,网上也没有确切解释

我想要达到的结果

求帮忙解答一下问题

  • 写回答

1条回答 默认 最新

  • liwq_jn 2022-10-25 09:51
    关注

    你的头文件mytbf.h中第6行,这个struct mytbf_t没有定义的地方啊。
    struct mytbf_t *mytbf_init(int cps,int burst);

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月2日
  • 已采纳回答 10月25日
  • 创建了问题 10月24日

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试