это коротко и просто работает. Все три будут работать во многих случаях, и вариант 2 может не работать при связывании статических программ. Фактический шаг компоновки для lib одинаков во всех вариантах, как я понимаю.
ажется странным использовать-Wl,-Bstatic
чтобы рассказатьgcc
с какими библиотеками я хочу связать статически. В конце концов я говорюgcc
непосредственно вся другая информация о связывании с библиотеками (-Ldir
, -llibname
).
Можно ли напрямую указать драйверу gcc, какие библиотеки должны быть связаны статически?
Разъяснение: Я знаю, что если определенная библиотека существует только в статических версиях, она будет использовать ее без-Wl,-Bstatic
, но я хочу подразумеватьgcc
предпочесть статическую библиотеку. Я также знаю, что указание файла библиотеки напрямую связано с ним, но я предпочитаю сохранить семантику для включения статических и динамических библиотек одинаковыми.