在Visual Studio 2012中包含头文件

时间:2014-05-28 13:08:42

标签: c visual-studio-2012

我遇到Visual Studio 2012的问题

我想在其他文件中包含一个头文件,然后在.c文件中包含第二个头文件。 我想在第一个头文件中定义一个常量,并在c文件中使用它的值。 我认为这是可能的,因为它是在标准库中完成的

当我这样做时,编译器发送错误消息:

  

1> C:\ Users \ sotfware \ Desktop \ ConsoleApplication4 \ Debug \ ConsoleApplication4.exe:致命错误LNK1169:找到一个或多个多重定义的符号

2 个答案:

答案 0 :(得分:0)

将函数的定义(主体)放在常规C文件中,只放入头文件中的声明。假设我有这些功能:

void PrintHelloWorld(void)
{
      printf("Hello World\n");
}

void PrintHelloWorld2(void)
{
      printf("Hello World");
}

然后我的C文件将保留此^^但是Header文件应该是:

void PrintHelloWorld();
void PrintHelloWorld2();

我记得,我认为你应该在头文件中声明常量。

答案 1 :(得分:0)

我认为没关系。也许您可以显示有关您问题的更多详细信息。


第一个标题(a.h):

#ifndef A_H
#define A_H

const int i = 5;

#endif

第二个标题(b.h):

#ifndef B_H
#define B_H

#include "a.h"

#endif

源文件:

#include <stdio.h>
#include "b.h"

main() {
  printf("%d\n", i);
  exit(0);
}