Change static

This commit is contained in:
Edwin Noorlander 2025-03-17 17:24:00 +01:00
parent c89d6bb4fa
commit 4a8623fdfc
4 changed files with 45 additions and 30 deletions

View File

@ -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

View File

@ -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<double>(myDynamicLibrary::a) / myDynamicLibrary::b;
}

View File

@ -13,7 +13,7 @@ class myDynamicLibrary{
std::string text();
std::string sayHelloDynamic();
int multiply();
int devide();
double devide();
};

View File

@ -13,11 +13,11 @@ 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;
}
@ -25,7 +25,7 @@ int main(int argc, char* argv[]) {
// 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;
@ -33,7 +33,7 @@ int main(int argc, char* argv[]) {
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();
@ -41,9 +41,9 @@ int main(int argc, char* argv[]) {
}
// 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();
@ -56,12 +56,21 @@ int main(int argc, char* argv[]) {
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;