Am 16.11.20 um 10:37 schrieb Alexandre DENIS:
I've already seen this strange behavior with gcc 9.x : symbols with
a const definition are by default not publicly visible. It works
if you explicitly add an "extern" in the definition:
extern const float svcoeff44 [216] = (...)
I am not sure whether it is a bug in gcc or a strict application of the
standard.
It's standard behavior, but have only found it on
https://en.cppreference.com/w/cpp/language/cv#Notes
The const qualifier used on a declaration of a non-local non-volatile
non-template (since C++14) non-inline (since C++17) variable that is not
declared extern gives it internal linkage. This is different from C
where const file scope variables have external linkage.
Uwe