Jump to content
  • Advertisement

tj8146

Member
  • Content Count

    10
  • Joined

  • Last visited

Community Reputation

0 Neutral

About tj8146

  • Rank
    Member

Personal Information

  • Interests
    Programming

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. I removed namespace after adding the new wWinMain() and those errors went away. However, I now have some more error. I understand that the top error is due to the fact mClock is undeclared and that the error has come about as a result of me removing namespace from all my .cpp and .h 's. How would I go about fixing this? Would I use an example given in the link below? https://msdn.microsoft.com/en-us/library/ewcf0002.aspx Error: 1>------ Build started: Project: Game, Configuration: Debug Win32 ------ 1>Renderer.cpp 1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\minwindef.h(130): warning C4005: 'APIENTRY': macro redefinition 1>c:\users\jack\documents\opengl\game\dependencies\glfw\include\glfw\glfw3.h(98): note: see previous definition of 'APIENTRY' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(23): error C2065: 'mClock': undeclared identifier 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(23): error C2059: syntax error: ';' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(33): warning C4305: 'return': truncation from 'int' to 'bool' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(42): warning C4305: 'return': truncation from 'int' to 'bool' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(101): error C2059: syntax error: '}' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(101): error C2143: syntax error: missing ';' before '}' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(102): error C2143: syntax error: missing ';' before '}' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(102): error C2059: syntax error: '}' 1>Timer.cpp 1>c:\users\jack\documents\opengl\game\game\timer.cpp(14): warning C4244: 'initializing': conversion from 'uint' to 'ufloat', possible loss of data 1>c:\users\jack\documents\opengl\game\game\timer.cpp(27): warning C4018: '>': signed/unsigned mismatch 1>c:\users\jack\documents\opengl\game\game\timer.cpp(40): warning C4244: '+=': conversion from 'ufloat' to 'uint', possible loss of data 1>Generating Code... 1>Done building project "Game.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  2. I am using GLFW and GLEW frameworks. I have implemented the WinMain function as this is a windows application in Renderer.cpp: #include <GL/glew.h> #include <GLFW/glfw3.h> #include "Renderer.h" #include "Timer.h" #include "Windows.h" #include <iostream> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPWSTR lpCmdLine, int nShowCmd) { namespace Game { GLFWwindow* window; /* Initialize the library */ Rendering::Rendering() { mClock = new Clock; } Rendering::~Rendering() { shutdown(); } bool Rendering::initialize(uint width, uint height, bool fullscreen, std::string window_title) { if (!glfwInit()) { return -1; } /* Create a windowed mode window and its OpenGL context */ window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); return -1; } /* Make the window's context current */ glfwMakeContextCurrent(window); glViewport(0, 0, (GLsizei)width, (GLsizei)height); glOrtho(0, (GLsizei)width, (GLsizei)height, 0, 1, -1); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glfwSwapInterval(1); glEnable(GL_SMOOTH); glEnable(GL_DEPTH_TEST); glEnable(GL_BLEND); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glEnable(GL_TEXTURE_2D); glLoadIdentity(); return true; } bool Rendering::render() { /* Loop until the user closes the window */ if (!glfwWindowShouldClose(window)) return false; /* Render here */ mClock->reset(); glfwPollEvents(); if (mClock->step()) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glfwSwapBuffers(window); mClock->update(); } return true; } void Rendering::shutdown() { glfwDestroyWindow(window); glfwTerminate(); } GLFWwindow* Rendering::getCurrentWindow() { return window; } } } I however have multiple errors again as a result: 1>------ Build started: Project: Game, Configuration: Debug Win32 ------ 1>Renderer.cpp 1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\shared\minwindef.h(130): warning C4005: 'APIENTRY': macro redefinition 1>c:\users\jack\documents\opengl\game\dependencies\glfw\include\glfw\glfw3.h(98): note: see previous definition of 'APIENTRY' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(10): error C2731: 'WinMain': function cannot be overloaded 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(9): note: see declaration of 'WinMain' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(12): error C2870: 'Game': a namespace definition must appear either at file scope or immediately within another namespace definition 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(18): error C2653: 'Rendering': is not a class or namespace name 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(19): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(19): error C2601: 'Game::Rendering': local function definitions are illegal 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(12): note: this line contains a '{' which has not yet been matched 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(26): error C2510: 'Rendering': left of '::' must be a class/struct/union 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(27): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(27): error C2601: 'Game::Rendering': local function definitions are illegal 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(12): note: this line contains a '{' which has not yet been matched 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(30): error C2510: 'Rendering': left of '::' must be a class/struct/union 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(30): error C2065: 'uint': undeclared identifier 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(30): error C2146: syntax error: missing ')' before identifier 'width' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(31): error C2143: syntax error: missing ';' before '{' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(31): error C2447: '{': missing function header (old-style formal list?) 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(67): error C2510: 'Rendering': left of '::' must be a class/struct/union 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(68): error C2601: 'Game::render': local function definitions are illegal 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(12): note: this line contains a '{' which has not yet been matched 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(89): error C2510: 'Rendering': left of '::' must be a class/struct/union 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(90): error C2601: 'Game::shutdown': local function definitions are illegal 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(12): note: this line contains a '{' which has not yet been matched 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(96): error C2510: 'Rendering': left of '::' must be a class/struct/union 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(97): error C2601: 'Game::getCurrentWindow': local function definitions are illegal 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(12): note: this line contains a '{' which has not yet been matched 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(23): error C2065: 'mClock': undeclared identifier 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(23): error C2061: syntax error: identifier 'Clock' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(24): warning C4508: 'Game::Rendering': function should return a value; 'void' return type assumed 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(29): warning C4508: 'Game::Rendering': function should return a value; 'void' return type assumed 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(73): error C2065: 'mClock': undeclared identifier 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(73): error C2227: left of '->reset' must point to class/struct/union/generic type 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(73): note: type is 'unknown-type' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(77): error C2065: 'mClock': undeclared identifier 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(77): error C2227: left of '->step' must point to class/struct/union/generic type 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(77): note: type is 'unknown-type' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(83): error C2065: 'mClock': undeclared identifier 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(83): error C2227: left of '->update' must point to class/struct/union/generic type 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(83): note: type is 'unknown-type' 1>Done building project "Game.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  3. Thank you. I now have one error left to deal with.. Would this error be because I have no main() function? Error: 1>Renderer.cpp 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(31): warning C4305: 'return': truncation from 'int' to 'bool' 1>c:\users\jack\documents\opengl\game\game\renderer.cpp(40): warning C4305: 'return': truncation from 'int' to 'bool' 1>Timer.cpp 1>c:\users\jack\documents\opengl\game\game\timer.cpp(15): warning C4244: 'initializing': conversion from 'Game::uint' to 'Game::ufloat', possible loss of data 1>c:\users\jack\documents\opengl\game\game\timer.cpp(28): warning C4018: '>': signed/unsigned mismatch 1>c:\users\jack\documents\opengl\game\game\timer.cpp(41): warning C4244: '+=': conversion from 'Game::ufloat' to 'Game::uint', possible loss of data 1>Generating Code... 1>LINK : fatal error LNK1561: entry point must be defined 1>Done building project "Game.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
  4. I have attached my project in a .zip file if you wish to run it for yourself. I am making a simple 2d top-down game and I am trying to run my code to see if my window creation is working and to see if my timer is also working with it. Every time I run it though I get errors. And when I fix those errors, more come, then the same errors keep appearing. I end up just going round in circles. Is there anyone who could help with this? Errors when I build my code: 1>Renderer.cpp 1>c:\users\documents\opengl\game\game\renderer.h(15): error C2039: 'string': is not a member of 'std' 1>c:\program files (x86)\windows kits\10\include\10.0.16299.0\ucrt\stddef.h(18): note: see declaration of 'std' 1>c:\users\documents\opengl\game\game\renderer.h(15): error C2061: syntax error: identifier 'string' 1>c:\users\documents\opengl\game\game\renderer.cpp(28): error C2511: 'bool Game::Rendering::initialize(int,int,bool,std::string)': overloaded member function not found in 'Game::Rendering' 1>c:\users\documents\opengl\game\game\renderer.h(9): note: see declaration of 'Game::Rendering' 1>c:\users\documents\opengl\game\game\renderer.cpp(35): error C2597: illegal reference to non-static member 'Game::Rendering::window' 1>c:\users\documents\opengl\game\game\renderer.cpp(36): error C2597: illegal reference to non-static member 'Game::Rendering::window' 1>c:\users\documents\opengl\game\game\renderer.cpp(43): error C2597: illegal reference to non-static member 'Game::Rendering::window' 1>Done building project "Game.vcxproj" -- FAILED. ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== Renderer.cpp #include <GL/glew.h> #include <GLFW/glfw3.h> #include "Renderer.h" #include "Timer.h" #include <iostream> namespace Game { GLFWwindow* window; /* Initialize the library */ Rendering::Rendering() { mClock = new Clock; } Rendering::~Rendering() { shutdown(); } bool Rendering::initialize(uint width, uint height, bool fullscreen, std::string window_title) { if (!glfwInit()) { return -1; } /* Create a windowed mode window and its OpenGL context */ window = glfwCreateWindow(640, 480, "Hello World", NULL, NULL); if (!window) { glfwTerminate(); return -1; } /* Make the window's context current */ glfwMakeContextCurrent(window); glViewport(0, 0, (GLsizei)width, (GLsizei)height); glOrtho(0, (GLsizei)width, (GLsizei)height, 0, 1, -1); glMatrixMode(GL_PROJECTION); glLoadIdentity(); glfwSwapInterval(1); glEnable(GL_SMOOTH); glEnable(GL_DEPTH_TEST); glEnable(GL_BLEND); glDepthFunc(GL_LEQUAL); glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST); glEnable(GL_TEXTURE_2D); glLoadIdentity(); return true; } bool Rendering::render() { /* Loop until the user closes the window */ if (!glfwWindowShouldClose(window)) return false; /* Render here */ mClock->reset(); glfwPollEvents(); if (mClock->step()) { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glfwSwapBuffers(window); mClock->update(); } return true; } void Rendering::shutdown() { glfwDestroyWindow(window); glfwTerminate(); } GLFWwindow* Rendering::getCurrentWindow() { return window; } } Renderer.h #pragma once namespace Game { class Clock; class Rendering { public: Rendering(); ~Rendering(); bool initialize(uint width, uint height, bool fullscreen, std::string window_title = "Rendering window"); void shutdown(); bool render(); GLFWwindow* getCurrentWindow(); private: GLFWwindow * window; Clock* mClock; }; } Timer.cpp #include <GL/glew.h> #include <GLFW/glfw3.h> #include <time.h> #include "Timer.h" namespace Game { Clock::Clock() : mTicksPerSecond(50), mSkipTics(1000 / mTicksPerSecond), mMaxFrameSkip(10), mLoops(0) { mLastTick = tick(); } Clock::~Clock() { } bool Clock::step() { if (tick() > mLastTick && mLoops < mMaxFrameSkip) return true; return false; } void Clock::reset() { mLoops = 0; } void Clock::update() { mLastTick += mSkipTics; mLoops++; } clock_t Clock::tick() { return clock(); } } TImer.h #pragma once #include "Common.h" namespace Game { class Clock { public: Clock(); ~Clock(); void update(); bool step(); void reset(); clock_t tick(); private: uint mTicksPerSecond; ufloat mSkipTics; uint mMaxFrameSkip; uint mLoops; uint mLastTick; }; } Common.h #pragma once #include <cstdio> #include <cstdlib> #include <ctime> #include <cstring> #include <cmath> #include <iostream> namespace Game { typedef unsigned char uchar; typedef unsigned short ushort; typedef unsigned int uint; typedef unsigned long ulong; typedef float ufloat; } Game.zip
  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!