Статическая линковка должна позволять создавать исполняемые файлы, которые не требуют внешних DLL. Однако, существуют несколько причин, по которым ваша программа может по-прежнему нуждаться в DLL, даже если вы пытались сделать статическую линковку:
1. **Использование динамических библиотек**: Убедитесь, что все используемые вами библиотеки на самом деле поддерживают статическую линковку. Например, библиотека `tgbot-cpp`, которую вы упомянули, может предоставлять как статические, так и динамические версии. Убедитесь, что вы используете статическую версию библиотеки (обычно это файл с расширением `.lib`, который не начинается с `lib` и заканчивается на `.a`).
2. **Настройки компиляции**: Убедитесь, что в настройках вашего проекта действительно выбрана статическая линковка. Для Visual Studio это можно сделать через:
- Открытие свойств проекта (`Project Properties`).
- Переход в раздел `C/C++` -> `Code Generation`.
- Убедитесь, что выбрана опция `/MT` (для статической линковки).
3. **Зависимости**: Ваша программа может зависеть от других библиотек, которые используются динамически. Проверьте все зависимости вашего проекта, особенно те, которые могут быть установлены в системе. Если вы используете сторонние библиотеки, убедитесь, что они также статически линкованы.
4. **Неправильная конфигурация сборки**: Убедитесь, что вы собрали проект в правильной конфигурации (например, Release или Debug) и что эта конфигурация настроена на статическую линковку.
5. **Использование системных библиотек**: Некоторые системные компоненты Windows могут требовать наличия соответствующих DLL, даже если ваш код собран статически. Например, элементарные функции работы с графикой, вводом/выводом и возможно, даже стандартные библиотеки могут воспользоваться динамическими библиотеками.
6. **Проверка зависимости**: Для более точного понимания того, откуда может поступать запрос на DLL, вы можете использовать утилиты, такие как `Dependency Walker` или `Dependencies`. Эти утилиты покажут, какие именно библиотеки требуются вашему EXE-файлу.
Если после проверки всех этих пунктов проблема не устраняется, попробуйте собрать проект с минимальной конфигурацией и постепенно добавлять компоненты, пока не найдете, который вызывает зависимость от DLL.