Эта переменная объявлена где-то в заголовке? Если да, используется ли в объявлении ключевое слово extern
? Если этого не произойдет, компилятор выдаст символ для каждого модуля компиляции (.m, .mm, .c, .cpp и т. Д.), Который #include
s заголовок.
Если заголовок не является проблемой, то что-то в вашем модуле компиляции "HelloWorldScene" и "TheifGameAppDelegate" создает символ theScene. Либо переменная определена в обоих, либо что-то еще, например, функция, имеет одно и то же имя.
Без публикации вашего кода или других подробностей я больше не могу рассказать вам об этой проблеме.
Обновление : правильный способ использования глобальных переменных в нескольких файлах - объявить переменную как extern
в заголовке (условно используйте extern "C"
при компиляции с (Objective-) C ++ и переменной также должен быть доступен из (Objective-) C. Затем определите его ровно один раз в файле .m, .mm, .c или .cpp без * extern
и, возможно, с инициализатором. Заголовок конечно, должны быть включены во все файлы, которым требуется доступ к переменной.