Я использовал Nuget для установки AWS SDK для C ++. Моя сборка работает нормально, но когда я пытаюсь запустить, я получаю пропавшее сообщение Dll. Мне нужно либо добавить путь к Dll, либо скопировать его в мой выходной каталог, но исходный путь — C: \ Users \ Tom \ Documents \ Bitbucket \ nos \ MyApp \ Builds \ packages \ AWSSDKCPP-Transfer.redist.1.4.34 \ build \ native \ bin \ Win32 \ Debug \ v141 \ dynamic \ aws-cpp-sdk-Transfer.dll, который кажется смешным. Я не могу найти более простой способ сделать это с Nuget для C ++.
Кто-то предложил мне использовать Vcpkg. Это лучше, чем Nuget, или у меня будет такая же проблема?
Для справки Настройка AWS SDK для C ++
Должен ли я установить AWS SDK для C ++ с Nuget или Vcpkg?
Вы можете использовать nuget для установки AWS SDK для проекта C ++.
Но вы должны использовать AWSSDKCPP-служба имя, чтобы добавить библиотеку для конкретной службы в ваш проект, а не устанавливать распространяемые компоненты AWSSDKCPP-Transfer.redist
,
Когда вы проверяете описание пакета nuget AWSSDKCPP-Transfer.redist
, вы найдете этот пакет Nuget:
Вторично распространяемые компоненты для пакета «AWSSDKCPP-Transfer». Этот пакет должен быть установлен только как зависимость.
(Это не тот пакет, который вы ищете).
Таким образом, вы должны установить пакет nuget AWSSDKCPP-Transfer
,
После установки пакета nuget AWSSDKCPP-Transfer
затем создайте проект, правильные двоичные файлы будут автоматически включены для каждой используемой конфигурации среды выполнения / архитектуры — вам не нужно управлять этими зависимостями самостоятельно.
aws-cpp-sdk-transfer.dll
, aws-cpp-sdk-s3.dll
а также aws-cpp-sdk-core.dll
копируются в выходной каталог:
Надеюсь это поможет.
Я понял, что проблема в том, что в нашем модульном тесте мы установили Build Events-> Post-Build Event-> Command Line в "$(ProjectDir)"RunTestExe.bat $(QTDIR) "$(TargetDir)$(TargetFileName)"
поэтому он запускает модульные тесты после их сборки. Если я удаляю это, Nuget правильно копирует Dlls при отладке. Я предполагаю, что он использует то же поле. Это похоже на ошибку, которую нужно исправить, поэтому я поднял ее с Microsoft: https://developercommunity.visualstudio.com/content/problem/245884/nuget-doesnt-handle-dependencies-for-debugging.html