我遇到了一些编译器/链接器错误,我不知道正确的方法是什么。我处于这种情况:
- ah: 在这个文件中定义了一个声明为“inline”的函数,例如:inline void foo1();
- bh:在这个文件中定义了一个声明为“内联”的函数,它调用 foo1(): inline void foo2();
- main.c: foo1 和 foo2() 都有一些函数调用。
现在,如果我将 ah 和 bh 中的 foo1 和 foo2 声明为 extern inline void,我会收到以下错误:
prj/src/bo: 在函数
foo1': (.text+0x0): multiple definition of
foo1' prj/src/main.o:(.text+0x0): 首先在这里定义 make: * [kernel] Error 1
在我描述的情况下,允许编译和链接而没有错误/警告的方式是什么?