I declare the variable
ue in my global.h file as
Extern int ue;. I have
#include "global.h" on all view controllers where I want to use the variable. If I don't assign a value to
ue my project builds and runs. If I assign a value to
ue I get the following errors and the build fails;
undefined symbol: _ue
Linker command failed with exit code 1 (use -v to see invocation)
I have searched for the resolution and tried some suggestions, but I keep getting the same errors. I have declared multiple variables in "global.h" previously and had no issues.
extern modifier means the value is assigned to variable in some other file, so you should not perform it in-place. There are two options to solve your issue.
Option 1: Declare your variable in global.h as static instead of extern.
static int ue = 1;
Option 2: Create an Obj-C class with global.h and global.m files. Remove all contents (interface/implementation) from both files (you should only keep the
#import directive in .m file). In your .h file declare an extern variable.
extern int ue;
In your .m file assign the value:
int ue = 1;