Visual Studio 2017 — Должен ли я установить AWS SDK для C ++ с Nuget или Vcpkg?

Я использовал 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 ++

0

Решение

Должен ли я установить 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 копируются в выходной каталог:

введите описание изображения здесь

Надеюсь это поможет.

0

Другие решения

Я понял, что проблема в том, что в нашем модульном тесте мы установили 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

0

По вопросам рекламы [email protected]