"extern inline"は書き換える必要があります

extern inline のままでもコンパイルは出来ますが，リンク時に「シンボル名が重複した」というエラーが出ます．

対処方法としては二つ方法があります．一つ目は以下のように

extern inline #ifdef __GNU_STDC_INLINE__ __attribute__((__gnu_inline__)) #endif

と __attribute__ 属性を追加する方法です．二つ目は "extern inline" を "static inline"に書き換える方法です．gcc-4.2以前の古いGCCを使った場合でもコンパイルできるという意味では二つ目の方法に利があるように思えます．