text: Hi there.
  I recently managed to compile and build Allegro 5 data on my Windows 7 machine (I primarily use Linux Ubuntu). I have a very simple, very sloppy test project established that is returning errors: "C:\Users\Eric II\Desktop\Games\allegro\Allegro\player.cpp|3|multiple definition of `Player::test()'|".
  main.cpp
  player.h
  class Player {
  public:
  void test();
  };
  player.cpp
  #include "player.h"
  void Player::test() {
  }
  Any ideas why this is happening? I appreciate your assistance.
  I'm ignorant of C++ classes and such, but don't you have to use header guards in C++?
  #ifndef _PLAYER_H_
  #define _PLAYER_H_
  class Player {
  public:
  void test();
  };
  #endif //Now _PLAYER_H_ (and the Player class) is defined only once.
  There are variations of this, such as #pragma that, but to no avail.
  Allow me to ask you this: why is it that my code compiles properly on Linux Ubuntu (as well as Debian), yet does not on Windows?
  Err... why are you including "player.cpp"?
  "For in much wisdom is much grief: and he that increases knowledge increases sorrow."-Ecclesiastes 1:18[SiegeLord's Abode][Codes]:[DAllegro5]:[RustAllegro]
  #include "player.cpp"
  shouldn't this include the header file player.h instead of player.cpp?
  I am not entirely sure that this is an actual problem but smells fishy, you only need to include the .h file I guess.
  Also, are the player.h and .cpp you provided only tidbits of the files or are them the whole thing?
  EDIT: yeah what Siegelord said.of course.
  It is unlikely that Google shares your distaste for capitalism. - DerezoIf one had the eternity of time, one would do things later. - Johan Halmén
  Oh snap... I've been going about this the wrong way for a while then. Including the header file opposed to the cpp file worked. I appreciate it guys.