You can use header files.
Good practice.
You can create a file called player.h
declare all functions that are need by other cpp files in that header file and include it when needed.
player.h
#ifndef PLAYER_H // To make sure you don't declare the function more than once by including the header multiple times. #define PLAYER_H #include "stdafx.h" #include <SFML/Graphics.hpp> int playerSprite(); #endif
player.cpp
#include "player.h" // player.h must be in the current directory. or use relative or absolute path to it. e.g #include "include/player.h" int playerSprite(){ sf::Texture Texture; if(!Texture.loadFromFile("player.png")){ return 1; } sf::Sprite Sprite; Sprite.setTexture(Texture); return 0; }
main.cpp
#include "stdafx.h" #include <SFML/Graphics.hpp> #include "player.h" //Here. Again player.h must be in the current directory. or use relative or absolute path to it. int main() { // ... int p = playerSprite(); //...
Not such a good practice but works for small projects. declare your function in main.cpp
#include "stdafx.h" #include <SFML/Graphics.hpp> // #include "player.cpp" int playerSprite(); // Here int main() { // ... int p = playerSprite(); //...