Есть несколько ддл-ок с чуть-чуть пересекающимися сигнатурами функций. Допустим есть такая функция int vers(); в нескольких одновременно. Если её лоадить динамически и вызывать , то проблем то нет. А возможно ли статически их связать? T.E. можно как-то в VS статически прилинковать либу, указав линкеру из какой именно либы, эта функция для связывания.
Всё перерыл! Никак нельзя. Из этого вытекает одно интересное последствие Если , увеличивая функционал проекта, начинается использование дополнительных длл-ок и в этих длл есть фунции с сигнатурами уже используемыми в других длл проекта(изначально статически) - все места в проекте , вызывающие спорные функции, должны быть переписаны в вызовы на динамический лад.
В первом посте: что имеется ввиду под "статически их связать"? Тебе хочется прилинковаться из своего проекта к DLL'ке статически? Это делается с помощью генерации .lib файла из DLL и использованию его. Вобщем, не совсем понял вопроса.
Joes старался объянить попроще ты не так понял. есть проект cary.exe он использует длл astra.dll(стат связь) в astra.dll есть фунция int vers() Далее к проекту добавляется новая длл audit.dll в audit.dll так-же присутствуе функция int vers() вот такая гадость сначала я пытался как-то сконфигурировать линкер, для одновременного статического связывания одинаковых функций из разных длл и всех просил помоч мне в этом. Но тема баян. Разрулить можно только динамичеким связыванием. и получилось интересное следствие:
Гм, т.е. вопрос в том, что есть две либы с одинаковым названием функции (в твоем случае - vers), но хочется из них импортировать функции статически? В С++ наверное можно разрулить namespace'ом и __declspec(import). В Си - никак, imho.