Я думаю, что это то, что произошло в моем случае с g ++ 4.7 и CMake (не уверен, что это важная деталь относительно CMake) У меня есть код, который регистрирует функцию на заводе. Он опирается на вызов конструктора из глобально инициализированной переменной.
Когда этот код был в статически связанной библиотеке , инициализация не произошла! Теперь он работает нормально, когда я переместил его в объектные файлы, которые были связаны напрямую (то есть они не объединяются в первую очередь в библиотеку).
Итак, я подозреваю, что вы правы.