#visual-studio #mfc #libraries
Вопрос:
У меня есть проект, предназначенный для устаревших систем (XP/2000 является самой ранней), поддерживаемый в Visual Studio 2019, в котором в настоящее время используются динамически связанные библиотеки.
При установке в других системах я должен установить распространяемый VC в этих системах, прежде чем программа начнет функционировать. Одним из решений этой проблемы, которое я нашел, было статическое связывание файлов, чтобы они содержались в исполняемом файле.
Я рассмотрел предварительные условия установки в проекте установки, но для этого требуется доступ к Интернету, что часто не относится к пользователям моего программного обеспечения.
Во-первых, является ли это разумным ответом на этот вопрос?
Во-вторых, отличается ли поддержка статически связанного проекта от поддержки динамически связанного проекта, скажем, когда компилятор обновляется или Visual Studio выпускает новую версию/набор инструментов?
Комментарии:
1. Использует ли ваша программа какие-либо сторонние библиотеки и передает ли объекты CRT через границы модулей? В этом случае вы не сможете статически связываться с библиотеками поддержки C .
2. @IInspectable программа отлично работает без динамических ссылок, поэтому я бы сказал «нет». Недавно мы только что перенесли все внешние библиотеки, которые будут поддерживаться в рамках самого проекта.
3. Я задал вопрос, а не о том, работает ли программа.
4. Просто статически соединяйтесь. Ведение статически связанного проекта ничем не отличается от ведения динамически связанного проекта.
5. @Jabberwocky решает ли статическое связывание мои проблемы с переносимостью?