我很久没有使用C ++或Visual Studio了。
我想再次使用它们,并且在了解其他语言的管理器的用途之后,我还想尝试使用软件包管理器。
我创建了一个新的空项目,并使用Nugget安装了SFML库,但是它似乎无法以任何方式处理链接。 我可以#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,或者直到今天我还是应该手动将其复制到可执行文件的文件夹中? (开发时就是)