From 4a8623fdfceb3ebf89045adc9f0dc0f7aee8e65b Mon Sep 17 00:00:00 2001 From: Edwin Noorlander Date: Mon, 17 Mar 2025 17:24:00 +0100 Subject: [PATCH] Change static --- CMakeLists.txt | 11 ++++-- lib/myDynamicLibrary/myDynamicLibrary.cpp | 15 +++++--- lib/myDynamicLibrary/myDynamicLibrary.h | 2 +- src/main.cpp | 47 ++++++++++++++--------- 4 files changed, 45 insertions(+), 30 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bfdbe07..4569627 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,5 +1,5 @@ # Minimum required version of CMake -cmake_minimum_required(VERSION 3.28) +cmake_minimum_required(VERSION 3.10) # Project setup project(main VERSION 1.0.0 @@ -8,11 +8,13 @@ project(main VERSION 1.0.0 LANGUAGES CXX) # Set C++ standard -set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD 14) set(CMAKE_CXX_STANDARD_REQUIRED ON) -set(CMAKE_CXX_COMPILER "/usr/bin/gpp") +# set(CMAKE_CXX_COMPILER "/usr/bin/gpp") +set(CMAKE_CXX_COMPILER "c++") -set(BIN_STATIC true) + +set(BIN_STATIC false) # Set binary name set(BIN_NAME "test") @@ -41,6 +43,7 @@ if(BIN_STATIC) add_compile_definitions(SDL_STATIC) endif() + # List of subprojects to include (e.g., external libraries or modules) set(SubProjects myDynamicLibrary # Example subproject, replace with actual subprojects diff --git a/lib/myDynamicLibrary/myDynamicLibrary.cpp b/lib/myDynamicLibrary/myDynamicLibrary.cpp index 95b4a9e..5d180fe 100644 --- a/lib/myDynamicLibrary/myDynamicLibrary.cpp +++ b/lib/myDynamicLibrary/myDynamicLibrary.cpp @@ -6,10 +6,10 @@ using namespace std; string myDynamicLibrary::sayHelloDynamic() { - std::string text = "You have given two numbers a "; - text += std::to_string(myDynamicLibrary::a); + string text = "You have given two numbers a "; + text += to_string(myDynamicLibrary::a); text += " and number b "; - text += std::to_string(myDynamicLibrary::b); + text += to_string(myDynamicLibrary::b); text += "."; return text; @@ -23,6 +23,9 @@ int myDynamicLibrary::multiply(){ return myDynamicLibrary::a * myDynamicLibrary::b; } -int myDynamicLibrary::devide(){ - return myDynamicLibrary::a / myDynamicLibrary::b; -} +double myDynamicLibrary::devide() { + if (myDynamicLibrary::b == 0) { + throw std::runtime_error("Cannot divide by zero!"); + } + return static_cast(myDynamicLibrary::a) / myDynamicLibrary::b; +} \ No newline at end of file diff --git a/lib/myDynamicLibrary/myDynamicLibrary.h b/lib/myDynamicLibrary/myDynamicLibrary.h index be0dcfe..23ef11a 100644 --- a/lib/myDynamicLibrary/myDynamicLibrary.h +++ b/lib/myDynamicLibrary/myDynamicLibrary.h @@ -13,7 +13,7 @@ class myDynamicLibrary{ std::string text(); std::string sayHelloDynamic(); int multiply(); - int devide(); + double devide(); }; diff --git a/src/main.cpp b/src/main.cpp index 63a410f..e338d93 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -13,56 +13,65 @@ const int WINDOW_HEIGHT = 600; int main(int argc, char* argv[]) { // SDL en TTF initialiseren if (SDL_Init(SDL_INIT_VIDEO) < 0) { - std::cerr << "SDL kon niet initialiseren: " << SDL_GetError() << std::endl; + cerr << "SDL kon niet initialiseren: " << SDL_GetError() << endl; return 1; } if (TTF_Init() == -1) { - std::cerr << "TTF kon niet initialiseren: " << TTF_GetError() << std::endl; + cerr << "TTF kon niet initialiseren: " << TTF_GetError() << endl; SDL_Quit(); return 1; } - + // SDL Window en Renderer aanmaken SDL_Window* window = SDL_CreateWindow("SDL2 Demo", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, WINDOW_WIDTH, WINDOW_HEIGHT, SDL_WINDOW_SHOWN); if (!window) { - std::cerr << "Kan window niet maken: " << SDL_GetError() << std::endl; + cerr << "Kan window niet maken: " << SDL_GetError() << endl; TTF_Quit(); SDL_Quit(); return 1; } - + SDL_Renderer* renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED); if (!renderer) { - std::cerr << "Kan renderer niet maken: " << SDL_GetError() << std::endl; + cerr << "Kan renderer niet maken: " << SDL_GetError() << endl; SDL_DestroyWindow(window); TTF_Quit(); SDL_Quit(); return 1; } - + // Laad een font - TTF_Font* font = TTF_OpenFont("assets/OpenSans-Regular.ttf", 24); + TTF_Font* font = TTF_OpenFont("../include/Open_Sans/static/OpenSans-Regular.ttf", 24); if (!font) { - std::cerr << "Kan font niet laden: " << TTF_GetError() << std::endl; + cerr << "Kan font niet laden: " << TTF_GetError() << endl; SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); TTF_Quit(); SDL_Quit(); return 1; } - + SDL_Color textColor = {255, 255, 255, 255}; - + myObj.a = 50; myObj.b = 10; std::string text_string = myObj.sayHelloDynamic(); - const char *text = text_string.c_str(); + + const char* text = &text_string[0]; SDL_Surface* textSurface = TTF_RenderText_Solid(font, text, textColor); + if (!textSurface) { + cerr << "Kan text surface niet maken: " << endl; + return 1; + } SDL_Texture* textTexture = SDL_CreateTextureFromSurface(renderer, textSurface); + if (!textTexture) { + cerr << "Kan texture niet maken: " << endl; + return 1; + } + SDL_Rect textRect = {WINDOW_WIDTH / 2 - textSurface->w / 2, WINDOW_HEIGHT / 2 - textSurface->h / 2, textSurface->w, textSurface->h}; - SDL_FreeSurface(textSurface); - + bool running = true; SDL_Event event; while (running) { @@ -71,20 +80,20 @@ int main(int argc, char* argv[]) { running = false; } } - + SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255); SDL_RenderClear(renderer); - + SDL_RenderCopy(renderer, textTexture, nullptr, &textRect); SDL_RenderPresent(renderer); } - + SDL_DestroyTexture(textTexture); TTF_CloseFont(font); SDL_DestroyRenderer(renderer); SDL_DestroyWindow(window); TTF_Quit(); SDL_Quit(); - + return 0; -} +} \ No newline at end of file