LNK2019 Ошибка в Visual Studio 2010
Я создал пример проекта C ++ под Visual Studio 2010 со следующими файлами.
хиджры
#ifndef A_H
#define A_H
#include <iostream>
void foo();
#endif
a.cpp
#include "A.h"
void foo()
{
int a = 1;
}
main.cpp
#include "A.h"
int main(int argc, char* argv[])
{
foo();
return 0;
}
Я получаю следующий вывод после сборки:
1> ------ Началась сборка: Проект: opengl_test, Конфигурация: Отладка Win32 ------
1> main.cpp
1> А.ч
1> A.cpp
1> Генерация кода ...
1> Debug \ A.obj: предупреждение LNK4042: объект указан более одного раза; дополнения игнорируются
1> main.obj: ошибка LNK2019: неразрешенный внешний символ "void __cdecl foo (void)" (? Foo @@ YAXXZ), на который ссылается функция _main
1> C: \ Users \ alp \ Projects \ Test Samples \ opengl_test \ Debug \ opengl_test.exe: фатальная ошибка LNK1120: 1 неразрешенный внешний код
========== Построение: 0 выполнено, 1 не выполнено, 0 обновлено, 0 пропущено ===========
В чем причина этой ошибки?