我有两个共享一个extern变量的库。
在libA中,我在标头中声明了这样的变量:
extern int Gbl;
然后在源代码中再次将其定义为:
int Gbl;
接下来,我设置Gbl = 1;
在libB中,我包含libA的头文件。还有printf Gbl,期望在这里得到1。
尽管不幸的是,由于出现错误,我什至无法编译它:
undefined symbol '_Gbl' referenced in ....
有人告诉我这是链接错误,但是我不确定从这里开始该怎么做
最佳答案
您需要编译包含libA的libB。这是通过在编译行中添加-llibA来完成的。如果没有正确设置库选项,则需要添加-lpath_to_library