extern が undefined reference エラーになる

コード

a.cpp:

const char * const Hello = "Hello.";

b.cpp:

extern const char * const Hello;
エラー
b.cpp:001: エラー: undefined reference to `Hello'
原因

C++ では const は、暗黙 static になるため。

解決方法

定義行に "extern" を付加する。

a.cpp:

extern const char * const Hello = "Hello.";
参考

c++ - extern const char* const SOME_CONSTANT giving me linker errors - Stack Overflow