[英]Undefined reference to global variable
我正在使用C和Quake 3 / ioquake引擎。 请注意,这不是游戏引擎特定的问题,它纯粹是C语言查询。
g_entities
是在引擎中全局定义的变量。 此变量也使用extern
语句。
引擎中的许多其他.c
文件都可以毫无问题地调用此变量,但是当我从代码中执行此操作时,在编译时会得到undefined reference to g_entities
链接器错误undefined reference to g_entities
。
我的代码:
// get entity information for this bot (e.g. health etc)
gentity_t *entity;
entity = &g_entities[1];
制造错误:
/home/george/Desktop/ioquake/ioquake-latest/ioquake3/code/botlib/be_ai_char.c:1196: undefined reference to `g_entities'
我将感激任何C大师可以提供的建议,这些建议可能会为我提供解决方案。 谢谢。
这不是头文件问题。 您需要链接到包含g_entities定义的对象。 这可以是目标文件或库。 有时,链接事物的顺序也会有所不同。
您知道在哪里定义g_entities吗? 其他代码引用了此符号,它如何解决? 它链接到什么?
是因为在链接器的输入集中缺少了实际定义g_entities(没有extern)的模块(以及引用它的所有其他模块)?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.