掘金-如何链接SFML库

时间:2019-06-08 22:19:54

标签: c++ visual-studio linker nuget-package

我很久没有使用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,或者直到今天我还是应该手动将其复制到可执行文件的文件夹中? (开发时就是)

0 个答案:

没有答案