c – 致命错误:在mac osx 10.10.5下找不到’common.h’文件

我按照操作系统:三个简单的部分,
introduction chapter中的代码,

#include <stdio.h>
#include <stdlib.h>
#include <sys/time.h>
#include <assert.h>
#include "common.h"

int
main(int argc, char *argv[])
{
  if (argc != 2)
  {
    fprintf(stderr, "usage: cpu <string>\n");
    exit(1);
  }
  char *str = argv[1];
  while(1)
  {
    Spin(1);
    printf("%s\n", str);
  }
  return 0;
}

当我尝试gcc -o cpu cpu.c -Wall时,

出现错误:致命错误:找不到’common.h’文件,

我尝试从this link下载common.h,并将此文件与cpu.c,但它不起作用,错误消息:

cpu.c:8:1: error: conflicting types for 'main'
main(int argc, char *argv[])
^
./common.h:86:13: note: previous declaration is here
extern int              main(int, char **, char **);
                        ^
cpu.c:18:5: warning: implicit declaration of function 'Spin' is invalid in C99 [-Wimplicit-function-declaration]
    Spin(1);
    ^
1 warning and 1 error generated.

如何修复错误?谢谢.

最佳答案 此问题的“common.h”标题链接为第1章:
http://pages.cs.wisc.edu/~remzi/OSTEP/旁边的课程目录中的tgz包

将其放在源文件旁边,然后再次尝试编译.

点赞