Динамическое и статическое связывание и развертывание в Visual Studio 2010

У меня есть неуправляемый проект C++ в Visual Studio 2010. Он использует boost, glut и другую библиотеку от поставщика.

Я настроил проект для создания более «независимого от DLL» исполняемого файла. Все библиотеки boost связаны статически, и нет необходимости в dll в каталоге, где находится исполняемый файл.

То же самое для Glut, я подключил статическую glut32.lib вместо glut32.dll, и снова никаких проблем.

Для библиотек времени выполнения я выбрал версию НЕ-dll, т. е. многопоточную отладку (для конфигурации отладки) и многопоточность для конфигурации выпуска.

Теперь поставщик, о котором я говорил ранее, предлагает две альтернативы: Vendor.lib и Vendor.dll.

Vendor.lib добавляется в Компоновщик-> Дополнительные зависимости, но во время выполнения мне всегда приходится помещать Vendor.dll в тот же каталог исполняемого файла, иначе среда выполнения жалуется, потому что не находит поставщика. dll-библиотека.

Как решить эту проблему? Я бы не хотел помещать в каждый каталог файл .dll.

Я не хочу помещать dll в тот же каталог, что и исполняемый файл. Каковы вообще рекомендации по развертыванию неуправляемых консольных приложений C++ в Visual Studio?

Я знаю, что есть много вопросов и страниц по этому аргументу, но ни один из них не прояснил мне этот момент.

Есть идея?

8
задан linello 5 March 2012 в 13:39
поделиться