Я использую premake5 для создания сложного приложения на нескольких платформах. Мои приложения ссылаются как на статические, так и на общие/динамические внешние библиотеки. Судя по всему, существуют значительные зависимости цепочки построения, которые в этом случае прерывают созданный файл «gmake».Смешивание общих и статических библиотек
Показательный пример:
Если вы смешиваете общие и статические библиотеки в premake заявления «ссылка», GCC, кажется, запутаться и ожидать, что ваши общие ссылки библиотека на самом деле быть статические библиотеки. Когда он не может найти их, этап ссылки выходит из строя. Обычно это обрабатывается путем префикса ваших общих библиотек с помощью «-Bdynamic». К сожалению, нет способа сказать premake5, что внешняя ссылка lib является статической или динамической, поэтому вам нужно вручную исправить make-файлы, которые побеждают цель сборки.
Это своего рода шоу-стоппер. Я не думаю, что вы можете просто кормить «-Bdynamic» в linkoptions, потому что за ним должен следовать список разделяемых библиотек.
Определенно попадает под «недостающую функциональность». Это появилось несколько раз и не сложно исправить; Я просто не имел пропускной способности, чтобы справиться с этим сам. – starkos
Если ничего другого, я думаю, что я могу работать с использованием пост-обработки скриптов на gcc-сборках. – eris0xff
В качестве продолжения этого. Я заметил, что если бы я вручную перегруппировал статику вместе и динамику вместе, то по какой-то причине мне не нужны явные «-Bstatic» и «-Bdynamic». Я посмотрю, смогу ли я отследить это дальше. – eris0xff