Включает ли исполняемый файл C ++ .obj, .lib и .dll? - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть проект C ++, который выводит C ++ .exe.Проект зависит от некоторых .lib и .dll.Если я хочу использовать .exe на другом сервере, могу ли я просто передать .exe без .lib, .dll и .obj?Был ли файл .exe собран таким образом, чтобы он "включал" эти файлы?

Спасибо!

1 Ответ

0 голосов
/ 26 сентября 2018

Процесс компиляции / компоновки в C ++ сложен, но обычно следует по этому пути.

cpp / hpp-> obj

obj -> lib (.a) для статической библиотеки или obj-> dll (.so) для динамической библиотеки

obj, lib, dll -> exe

Процесс компоновки будет принимать obj и статические библиотеки и формировать автономный exe.Компоновщик делает exe-файл зависимым от dll, но exe-файл не будет содержать динамическую библиотеку.

Отвечая на ваши вопросы, exe и dll (s) понадобятся во время выполнения.Файлы obj и static lib явно не понадобятся во время выполнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...