VS2019 c ++ решение Pre-Build Event с использованием xcopy, создающее дополнительные файлы dll во время xcopy - PullRequest
0 голосов
/ 02 декабря 2019

Я использую событие Pre-Build в Visual Studio 2019 в своем решении c ++ для запуска xcopy, чтобы скопировать dll и активы в целевой путь сборки.

Это xcopy cmd, который я использую: xcopy /Y /D /E "$(SolutionDir)assets\*" "$(TargetDir)" <NUL:

При использовании отладочной сборки он копирует DLL в корень каталога ресурсов, из которого я копирую, но такжесоздает несколько дубликатов некоторых из них с символом «d» в конце имени файла (например: исходный путь к ресурсам содержит SDL2.dll, а целевой каталог содержит SDL2.dll и SDL2d.dll). Это не делает это для всех DLL, или для любого из них в сборке релиза. Но, как вы можете видеть на следующих фотографиях, SDL2.dll в сборке выпуска имеет другой размер, чем исходная копия каталога активов. Я убедился, что копия каталога ресурсов была такой же, как и для загрузки, которую я получил с сайта libsdl .

Это изображение каталога активов

Это изображение каталога сборки отладки

Это изображение каталога сборки выпуска

Размеры дубликатов DLL отличаются от размероворигиналы, и я думаю, что это как-то связано с процессом отладочной сборки. Приложение собирается и работает в обеих конфигурациях.

Я сделал все, что смог найти, чтобы отделить промежуточные файлы от выходных файлов в меню свойств конфигурации. У меня включена инкрементная компоновка для выпуска отладки, поэтому файлы .ilk и .pdb находятся в каталоге отладочной сборки. Эта проблема - последнее появление файлов в целевом каталоге, которые я не понимаю, как они туда попали или почему они там. Мне просто интересно, является ли это нормальным поведением, и почему в выходной директории появились дополнительные их версии.

Спасибо всем.

...