Так как c++ начал изучать недавно, столкнулся с проблемой распределения исходников. Вот скажите что я делаю не так? Сколько не гуглил все не выходит. Файл: main.cpp
#include <GL/glew.h>
#include <SDL.h>
#include "initialization.h"
void Game();
void Cleanup();
int main(int argc, char *argv[]){
//Инициализация
initialization();
//Запускаем игру
Game();
//Завершаем работу
Cleanup();
return 0;
}
void Game(){
bool launched = true;
float xrf = 0, yrf = 0, zrf = 0;
float gtx = 0, gty = 0, gtz = -4.0;
while(launched){
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glFlush();
SDL_GL_SwapWindow(mainWindow);
}
}
void Cleanup(){
SDL_GL_DeleteContext(mainContext);
SDL_DestroyWindow(mainWindow);
SDL_Quit();
}
Файл: initialization.h
#ifndef __INITIALIZATION_H__
#define __INITIALIZATION_H__
SDL_Window *mainWindow;
SDL_GLContext mainContext;
void initialization();
bool SetOpenGLAttributes();
void PrintSDL_GL_Attributes();
void CheckSDLError(int line);
#endif // __INITIALIZATION_H__
Файл: initialization.cpp
#include <iostream>
#include <GL/glew.h>
#include <SDL.h>
#include "initialization.h"
std::string gameName = "SDL TEST";
int window_w = 1280;
int window_h = 720;
void initialization(){
setlocale(LC_ALL, "Russian");
// Инициализация SDL
if (SDL_Init(SDL_INIT_VIDEO) < 0){
std::cout << "Unable to init SDL, error: " << SDL_GetError() << std::endl;
}
// Создаем окно
mainWindow = SDL_CreateWindow(gameName.c_str(), SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, window_w, window_h, SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL );
// Проверяем окно
if (!mainWindow){
std::cout << "Окно не созданно\n";
CheckSDLError(__LINE__);
}
// Создаем контекст OpenGL
mainContext = SDL_GL_CreateContext(mainWindow);
// Устанавливаем отрибуты OpenGL
SetOpenGLAttributes();
// Проверка версий OpenGL
PrintSDL_GL_Attributes();
}
bool SetOpenGLAttributes(){
*********
}
void CheckSDLError(int line = -1){
*********
}
void PrintSDL_GL_Attributes() {
*********
}
Ошибки при компиляции:
obj\Debug\main.o||In function `SDL_main':|
...\main.cpp|10|multiple definition of `mainContext'|
...\initialization.cpp|12|first defined here|
|error: ld returned 1 exit status|