对已定义局部变量的未定义引用

Undefined reference to defined local variable

我正在学习 SFML 教程,但正在将其改编为 C

我在代码中声明了一个变量并在其他地方使用了它,但是得到了一个 gcc 错误 undefined reference to 'mainWindow'

代码:

#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;
}

CSFML 的 C 库包含一个函数来初始化 window 就像这样,我将其声明为函数原型

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