我试图使用Qt中的SFML2.3.2库来创建一个小型应用程序。
我在.pro文件中添加了以下代码的库:
LIBS += -L"$HOME/Libraries/C++/SFML-2.3.2/lib"
CONFIG(release, debug|release): LIBS += -libsfml-audio -libsfml-graphics -libsfml-network -libsfml-window -libsfml-system
CONFIG(debug, debug|release): LIBS += -libsfml-audio-d -libsfml-graphics-d -libsfml-network-d -libsfml-window-d -libsfml-system-d
INCLUDEPATH += "$HOME/Libraries/C++/SFML-2.3.2/include"
DEPENDPATH += "$HOME/Libraries/C++/SFML-2.3.2/include"正如SFML网站所解释的那样:https://github.com/SFML/SFML/wiki/Tutorial%3A-Compile-and-Link-SFML-with-Qt-Creator
但是,当我进入我的SFML-2.3.2/lib文件时,我没有看到任何"-d“结束文件。
如果我注释掉配置(调试、调试、发布)行,那么我将得到未定义的引用错误。如果我不注释掉这一行,那么我就会得到cannot find -libsfml-audio-d类型的错误。
下面是我的$HOME/Libraries/C++/SFML-2.3.2/lib目录中的文件:
libsfml-audio.so libsfml-graphics.so.2.3 libsfml-network.so.2.3.2 libsfml-window.so
libsfml-audio.so.2.3 libsfml-graphics.so.2.3.2 libsfml-system.so libsfml-window.so.2.3
libsfml-audio.so.2.3.2 libsfml-network.so libsfml-system.so.2.3 libsfml-window.so.2.3.2
libsfml-graphics.so libsfml-network.so.2.3 libsfml-system.so.2.3.2一些注意事项:
lsfml改为libsfml,这就是为什么它与说明不同的原因。sudo apt-get install libsfml-dev下载了它,它与g++一起工作,但是我无法将它连接到Qt (我不确定库可能位于哪里)。我希望我能写出一个“合适”的问题。谢谢你的回答!
发布于 2016-07-13 19:43:09
这可能是一个混乱的方式,但库巴奥伯的建议,我能够找到一个解决方案。如果您知道一个更好的解决方案,或者这个解决方案实际上是正确的,请告诉我。
我将我的.pro文件部分更改为:
LIBS += -L"$HOME/Libraries/C++/SFML-2.3.2/lib"
CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-network -lsfml-window -lsfml-system
CONFIG(debug, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-network -lsfml-window -lsfml-system
INCLUDEPATH += "$HOME/Libraries/C++/SFML-2.3.2/include"
DEPENDPATH += "$HOME/Libraries/C++/SFML-2.3.2/include"而生活就是古德。
https://stackoverflow.com/questions/38334040
复制相似问题