Search code examples
csfml

Undefined reference to defined local variable


I am doing the SFML tutorial but adapting it to C

I declare a variable in the code and using it elsewhere, but getting a gcc error that says undefined reference to 'mainWindow'

Code:

#include "SFML/Graphics.h"

int main() {

    sfVideoMode vm = {200, 200};
    char* title = "CSFML Works!";

    sfRenderWindow mainWindow(vm, title);
    sfRenderWindow* window = &mainWindow;

    float size = 100;
    sfCircleShape shape(size);

    while(sfRenderWindow_isOpen(window)) {
        sfEvent event;
        while(sfRenderWindow_pollEvent(window, &event)) {
            if(event.type == sfClose) {
                sfRenderWindow_close(window);
            }
        }

        sfRenderWindow_clear(window, sfBlack);
        sfRenderWindow_drawCircleShape(window, shape, NULL);
        sfRenderWindow_display(window);
    }
    return 0;
}

Solution

  • The C libraries for CSFML contains a function to initialize a window like so, I was declaring it like a function prototype

    window = sfRenderWindow_create(mode, title, style, settings);