Все библиотеки которые я использую для своей программы будут в .exe?

Вопрос о том, будут ли все библиотеки, используемые для программы, включены в .exe файл, зависит от нескольких факторов. Давайте разберемся подробнее.

1. Статическая линковка (Static Linking):
Чаще всего используется статическая линковка, которая позволяет включать все библиотеки непосредственно в .exe файл. В этом случае, когда вы запускаете программу на другом компьютере, все необходимые библиотеки уже содержатся внутри .exe файла, тем самым обеспечивая ее автономную работу. Однако, это может повлечь за собой увеличение размера исполняемого файла.

2. Динамическая линковка (Dynamic Linking):
Другой вариант - динамическая линковка, при которой библиотеки загружаются в память во время выполнения программы. В этом случае, .exe файл будет содержать только ссылки на эти библиотеки. При запуске программы требуемые библиотеки будут загружаться из системных директорий (таких, как System32 на Windows) или из каталогов, указанных в переменной окружения PATH. Преимущество этого способа состоит в уменьшении размера исполняемого файла и возможности обновить библиотеки без перекомпиляции всех зависимых проектов.

3. Динамическая линковка с использованием статических библиотек:
Есть альтернативный вариант, когда используются статические библиотеки для динамической линковки. В этом случае, библиотеки также загружаются в память во время выполнения программы, но они включены непосредственно в исполняемый файл, а не находятся в системных директориях или в переменной окружения PATH.

Выбор между статической и динамической линковкой зависит от ваших потребностей и масштабов проекта. Статическая линковка удобна для создания автономных исполняемых файлов, которые можно перемещать между компьютерами без заботы о наличии необходимых библиотек на каждой машине. Динамическая линковка позволяет сократить размер исполняемого файла и упростить обновление библиотек.

Важно отметить, что некоторые библиотеки могут быть распространяемыми (shared) и могут быть доступны извне в виде DLL (Windows) или .so/.dylib (Linux/Mac). В таком случае, при динамической линковке, .exe файл будет ссылаться на эти внешние библиотеки, а не содержать их внутри себя.

Итак, ответ на ваш вопрос зависит от того, какие библиотеки вы используете и какую линковку вы выбираете для вашего проекта. Оба варианта имеют свои преимущества и недостатки, поэтому выбор зависит от требований проекта.