Фатальная ошибка LNK1120

Поэтому я проверил некоторые другие сообщения об этой ошибке, но я не могу отследить проблему в моем собственном коде. Я работаю с тремя отдельными файлами. Когда я вызываю функции в одном файле, они вызывают ошибку. Из того, что я могу сказать, все отформатировано и указано правильно.

Основной код

#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>

//Task 1: Install Libaries and Get the GUI Running
#include "gui.h"
//Task 4: Implement the game engine
#include "engine.h"
//Include global constants
#include "constants.h"
using namespace std;

int main(int argc, char *argv[]){

//Seed random number generator
srand((unsigned)time(0));

//Task 2: Declare and Intialize Player Properties
int playerX = 0;
int playerY = 0;
int playerState = 0;

//Task 3: Declare and Initialize Background Properties'
int elementsX [MAX_NUM_ELEMENTS];
int elementsY [MAX_NUM_ELEMENTS];
int numElements = MAX_NUM_ELEMENTS;

//Initialize the game's data source
string gameFile("./data/background.txt");//Task 5: Load Data from a file'
//loadBackground(gameFile,numElements,elementsX,elementsY);

//Task 6: Randomize Player Sprite Appearance
randomPlayer(playerX,playerY,playerState,MAX_POS_X,MAX_POS_Y,MAX_PLAYER_STATE);

//Construct GUI
GUI gui;

//Initialize Termination Criteria
bool quit = false;

//While the user hasn't quit
while(quit == false){

//GUI waits for mouse events
while(gui.observeEvent()){

//GUI transmits quit event
if(gui.quitGame()){
quit=true;
}
}
//Render Game Data
gui.displayGameState(playerX,playerY,playerState,numElements,elementsX,elementsY);
}

//Return
return 0;

}

Двигатель:

#include <fstream>
#include <string>
#include "engine.h"#include "constants.h"#include <ctime>

using namespace std;

void loadBackground(string path, int numElements, int posX[], int posY[]){

fstream fin;
fin.open(path,ios::in);
int lineSize = 0;

fin >> numElements;
for(int i=0; i<numElements; i++){
fin >> posX[i];
fin >> posY[i];
}
fin.close();
}void randomPlayer(int posX, int posY, int state, int MAX_POS_X,int MAX_POS_Y,int MAX_PLAYER_STATE){
srand((unsigned)time(0));
posX = rand()%MAX_POS_X;
posY = rand()%MAX_POS_Y;
state = rand()%MAX_PLAYER_STATE-1;

}

Эта проблема возникает при вызове любой из двух функций из Engine. Я работаю в Visual Studio 2012 над Surface Pro 3.

Также это полная ошибка сборки:

1>------ Build started: Project: Hmwk.1.Assignment, Configuration: Debug Win32 ------
1>hmwk.1.obj : error LNK2019: unresolved external symbol "void __cdecl loadBackground(class     std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,int &,int *     const,int * const)" (?loadBackground@@YAXV?$basic_string@DU?$char_traits@D@std@@V?    $allocator@D@2@@std@@AAHQAH2@Z) referenced in function _SDL_main
1>hmwk.1.obj : error LNK2019: unresolved external symbol "void __cdecl randomPlayer(int &,int     &,int &,int,int,int)" (?randomPlayer@@YAXAAH00HHH@Z) referenced in function _SDL_main
1>C:\Users\tmars_000\Desktop\Fall 2014\Intro to Game     Prog\Hmwk.1.Released\Debug\Hmwk.1.Assignment.exe : fatal error LNK1120: 2 unresolved externals
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

engine.h

#ifndef ENGINE_H
#define ENGINE_H

#include <string>

using namespace std;

void loadBackground(string, int &, int[], int[]);
void randomPlayer(int &, int &, int &, int, int, int);

#endif

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]