Этот вопрос связан с этим: как можно обнаружить/предотвратить несколько определений в статических библиотеках? и предложение в первом ответе.
абзац «одно правило определения» CppReference (https://en.cppreference.com/w/cpp/language/definition) Государства: < /p>
"Одно и только одно определение каждой не введенной функции или переменной, используемой ODR (см. Ниже), чтобы появиться во всей программе (включая любые стандартные и определяемые пользователем библиотеки ). Библиотеки, содержащие мультинимированные символы, имеют неопределенное поведение? Потому что это нарушает одно правило определения? < /P>
или определено поведение? Потому что линкер гарантирует, что используется только один символ? А поведение линкера определено? Где это определено, как линкеры должны создавать программы из статических библиотек?
Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-to-stat
Мобильная версия