Самородок - как связать библиотеку SFML - PullRequest
1 голос
/ 09 июня 2019

Я давно не использовал C ++ или Visual Studio.

Я хочу использовать их снова, и решил, что с таким же успехом я могу попробовать использовать менеджер пакетов, посмотрев, насколько полезны менеджеры из других языков.

Я создал новый пустой проект и установил библиотеку SFML с помощью Nugget, однако, похоже, он никак не обрабатывает ссылки. Я могу #include включить заголовочные файлы SFML, но компоновщик жалуется на неразрешенные ссылки.

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

Это означает, что мне нужно написать этот вид текста и другие варианты для каждого типа сборки:

$(SolutionDir)packages\sfml_graphics.2.5.1\build\native\lib\Win32\v141\Debug\static\sfml-graphics-s-d.lib
$(SolutionDir)packages\sfml_system.2.5.1\build\native\lib\Win32\v141\Debug\static\sfml-system-s-d.lib
$(SolutionDir)packages\sfml_system.2.5.1\build\native\lib\Win32\v141\freetype.lib
$(SolutionDir)packages\sfml_window.2.5.1\build\native\lib\Win32\v141\Debug\static\sfml-window-s-d.lib

У меня сложилось впечатление, что смысл использования менеджера пакетов состоит в том, что он обрабатывает связывание автоматически, особенно при изменении целей и конфигураций.

Я ошибаюсь? потому что если это так, загрузка пакета непосредственно с его веб-сайта кажется более простой, поскольку он не будет распространяться на многие папки с такими длинными путями.

Кроме того, должен ли он обрабатывать библиотеки DLL, если бы я использовал динамическое связывание, или я до сих пор должен копировать их вручную в папку исполняемого файла? (при разработке то есть)

...