У меня проблема с глобальными переменными в разделяемой библиотеке в Solaris.
Рассмотрим следующий образец:
class Foo
{
public:
Foo() { Init(); }
private:
void Init() { // do something }
};
У меня есть код в общей библиотеке:
Foo g_Foo;
Я заметил, что конструктор Foo никогда не вызывается в Solaris, в то время как тот же код работает в Linux.
Я использую gcc 3.4.3 и компоновщик Sun.