Итак, у меня есть собственная библиотека (не с открытым исходным кодом), скомпилированная с помощью Devtoolset-3 (GCC 4.8). В настоящее время Devtoolset-3 помечен как EOL (окончание срока службы) для целевого дистрибутива (CentOS 7). Итак, в установке было отказано из-за ИТ-политики моей компании (устанавливаются только версии с активной поддержкой). В соответствии с этими ИТ-политиками у меня в системе Linux есть Devtoolset-9, самый старый, который позволяет установить ИТ-поддержка.
Итак, есть ли способ скомпилировать с GCC 9.3, но связать против библиотеки, скомпилированной с помощью GCC 4.8? Я спрашиваю об этом, потому что CMake говорит, что находит старую библиотеку, однако CMakeCache.txt в каталоге сборки содержит ряд конфигураций библиотеки *_NOTFOUND, которые, как я подозреваю, вызваны сбоями при связывании во время этих небольшие тесты на здравомыслие, которые проводит CMake. Эти *_NOTFOUND, в свою очередь, приводят к сбою сборки.
Подробнее здесь: https://stackoverflow.com/questions/787 ... th-gcc-4-8
Linux: GCC 9.3: связывание с динамической библиотекой, скомпилированной с помощью GCC 4.8. ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение