статическое связывание нескольких библиотек VC ++ с dll C ++ / CLI - PullRequest
3 голосов
/ 14 декабря 2011

Итак, у меня есть проект C #, который требует использования некоторых функций из библиотеки vc ++.Эта библиотека vc ++ зависит от других библиотек vc ++.

Итак, чтобы заставить это работать, я создал проект c ++ / cli dll, который обернул основную библиотеку vc ++.В настройках компоновщика проекта я просто добавил целевую библиотеку vc ++ в поле ввода, и это исправило ошибки компоновщика.Затем я добавил ссылку на проект cli в ссылки на проект c #.

Все скомпилировалось нормально, но когда я запустил проект C #, возникло исключение File.IO.Exception, говорящее, что cli dll не может бытьзагружен.Немного повозившись, я обнаружил, что эта ошибка происходит из-за того, что обернутые зависимости vc ++ dll не могут быть загружены.Поэтому я скопировал vc ++ dll в ту же папку, что и c # exe.Мне также пришлось скопировать все остальные библиотеки DLL vc ++, от которых зависела исходная библиотека DLL.

Отслеживание всех библиотек VC ++ обременительно, поэтому мне интересно, возможно ли статически связать всеиз VC ++ входит в DLL C ++ / CLI, поэтому мне не нужно копировать их в ту же папку, что и C # exe.Я попытался добавить все зависимости vc ++ в поле ввода компоновщика, но это ничего не дало.

Спасибо, Алекс

...