Code::Blocks Linking Options
Я настраивал SDL в Code::Blocks 17.12, используя MinGW в Windows, и увидел странный набор опций для компоновщика. Я новичок в этом, так что это может быть очевидно. Загрузите проект, перейдите на вкладку " Проект " вверху, нажмите " Свойства", затем выберите параметры сборки проекта. Если вы нажмете на настройки компоновщика, вы найдете две вещи. Одна содержит список библиотек для связи, а другая содержит список параметров, предоставленных компоновщику в самой команде. Вот скриншот того, как выглядит окно:
Я обнаружил, что удаление библиотек ссылок вообще не портит сборку, а удаление параметров компоновщика все портит. Это то, что происходит только с SDL? В чем разница между этими двумя разделами? Что эти флаги говорят компоновщику делать?
1 ответ
Хорошо, это была довольно простая ошибка. Проведя некоторое исследование, я нашел этот пост на форумах, объясняющий проблему. Библиотеки должны быть загружены в том же порядке! Чтобы ответить на мой первый вопрос, в SDL есть некоторые странности, но эта проблема может возникнуть с любым набором библиотечных файлов. Во-вторых, эти два раздела в основном одинаковы, когда речь идет о связывании файлов статической библиотеки, но параметры компоновщика дают вам больше контроля и позволяют указывать другие флаги, которые может использовать компоновщик. Наконец, эти флаги сообщают компоновщику, чтобы он посмотрел в предоставленные каталоги и внедрил их в вашу программу, что позволяет вам использовать функциональность, присутствующую в библиотеке, в вашем конечном исполняемом файле.
Вот изображение, показывающее, что я сделал. Используя те же спецификации, что и ранее, сборка прошла отлично, и я успешно смог запустить финальную программу.