
[英]Why do optimisation flags cause linker errors for some template functions?
[英]sf::Sound functions cause linker errors
我最近开始使用SFML。 因此,我下载了该库的2.4.2 Win64版本,并开始尝试这些示例。 到目前为止,我遇到的唯一问题是在sf :: Sound对象上调用play / pause / stop时发生链接器错误。 例如玩游戏,我得到:
main.obj:-1:错误:LNK2019:未解析的外部符号“ __declspec(dllimport)公共:虚拟void __cdecl sf :: Sound :: play(void)”(__imp_?stop @ Sound @ sf @@ UEAAXXZ)主要
请注意,我链接到sfml-audio.lib,并且可以使用音频库的其他对象(例如AudioBuffers)或sf :: Sound的其他功能(例如setBuffer),这对我来说很麻烦。
我使用Qt Creator作为IDE,因此我在.pro文件中链接如下:
LIBS += -LC:/SFML/lib
CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-main -lsfml-network -lsfml-window -lsfml-system
CONFIG(debug, debug|release): LIBS += -lsfml-audio-d -lsfml-graphics-d -lsfml-main-d -lsfml-network-d -lsfml-window-d -lsfml-system-d
INCLUDEPATH += C:/SFML/include
DEPENDPATH += C:/SFML/include
有人知道发生了什么吗?
提前致谢。
好吧,最后我解决了它,只需下载SFML Master并使用CMake + Visual Studio构建库。
以这种方式生成的库/ dll可以完美地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.