Я согласен с тем, что вам не следует использовать расширение .dll.a или .dll (я считаю, что .a и .so подходят), но кажется, что вы не можете обойтись без libaamlibrary [.dll] .a.
Так как '--enable-auto-image-base' имеет префикс -Wl, это делает его опцией компоновщика (ld).
Я искал 'man ld' и придумал это:
- enable-auto-image-base Автоматически выбирать базу изображений для библиотек DLL, если она не указана с помощью аргумента "--image-base".Используя хеш, сгенерированный из имени dll для создания уникальных баз изображений для каждой DLL, можно избежать коллизий и перемещений в памяти, которые могут задержать выполнение программы.[Эта опция специфична для целевого порта i386 PE компоновщика]
Какая у вас платформа?Это не доступно для не i386 архитектур, как я понимаю, и, возможно, не нужно?Можете ли вы попробовать компилировать без него?
Кстати, я рекомендую использовать отличный пакет Autotools (automake / autoconf / libtool).
Что касается --out-implib, то он также недоступен вamd64.
- файл out-implib Компоновщик создаст файл, который будет содержать импортную библиотеку, соответствующую библиотеке DLL, которую генерирует компоновщик.Эта библиотека импорта (которая должна называться « .dll.a» или « .a» может использоваться для связывания клиентов с созданной DLL; такое поведение позволяет пропустить отдельную библиотеку импорта «dlltool»)шаг создания. [Этот параметр относится только к целевому порту i386 PE компоновщика]
Извините, но я не знаю, что такое библиотека импорта.