C 对已定义局部变量的未定义引用
我正在做SFML教程,但将其改编为C 我在代码中声明了一个变量,并在其他地方使用它,但得到了一个gcc错误,该错误表示,C 对已定义局部变量的未定义引用,c,sfml,C,Sfml,我正在做SFML教程,但将其改编为C 我在代码中声明了一个变量,并在其他地方使用它,但得到了一个gcc错误,该错误表示,未定义对“mainWindow”的引用。 代码: CSFML的C库包含一个初始化窗口的函数,就像这样,我把它声明为一个函数原型 window = sfRenderWindow_create(mode, title, style, settings); sfRenderWindow主窗口(虚拟机,标题)是一个函数原型,而不是一个变量定义。标识符main窗口不是预定义的,因此您必
未定义对“mainWindow”的引用。
代码:
CSFML的C库包含一个初始化窗口的函数,就像这样,我把它声明为一个函数原型
window = sfRenderWindow_create(mode, title, style, settings);
sfRenderWindow主窗口(虚拟机,标题)
是一个函数原型,而不是一个变量定义。标识符main窗口
不是预定义的,因此您必须自己定义函数,或者告诉链接器它所在的库(通过-l..
标志使用gcc)@pmg,当我转到sfRenderWindow
的定义时,我得到typedef struct sfRenderWindow sfRenderWindow代码>,所以我假设它是一个结构,而不是一个函数原型sfRenderWindow主窗口(vm,title)
说,mainWindow
是一个函数,它接受两个参数(类型分别为vm
和title
),并返回一个sfRenderWindow
@pmg我如何使用字段sfVideoMode
和char*
初始化结构变量?最直接的方法是使用“指定的初始化器”struct which variable={.sfVideoMode\u membername=42,.charpointer\u membername=NULL}代码>
window = sfRenderWindow_create(mode, title, style, settings);