我在 Linux 中收到以下错误“未定义的引用__line__
。我知道 C 具有隐式宏__LINE__
。在代码__line__
中分配__LINE__
为
extern int __line__;
LDF(__line__ = __LINE__);
所以__line__
这里是一个变量而不是宏,它被赋值为__LINE__
. 在这里extern int
,所以它应该在某处被宣布为公正int __line__
。但是我没有看到声明 _ line _ 的任何头文件或 c 文件。此外,此错误不是在编译 .c 文件期间而是在链接 .o 文件时出现。
此错误不会出现在 UNIX 中。此外,在链接 libgen 时,会链接 libposix4 库。这些库仅存在于 UNIX 中而不存在于 LINUX 中我假设int __line__;
这些库中的某处存在或者我该如何解决此错误?