c++ - SFML 2.3.2 与 Linux 中的 Qt 5.7 集成

标签 c++ qt libraries sfml

我正在尝试将 SFML 2.3.2 库与 Qt Creator 一起使用来制作一个小型应用程序。

我在 .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”结尾的文件。

如果我注释掉 CONFIG(debug, debug|release) 行,那么我会收到undefined reference 错误。如果我不注释掉同一行,则会出现 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,这就是它与说明不同的原因。
  • 我尝试了一种不同的 sfml 下载方法,我使用 sudo apt-get install libsfml-dev 下载它,它可以使用 g++ 但我无法将它连接到 Qt (我不确定图书馆可能位于何处)

我希望我能够写出一个“合适的”问题。谢谢你的回答!

最佳答案

这可能是一种困惑的方式,但根据 Kuba Ober 的建议,我找到了解决方案。如果您知道更好的解决方案或者此解决方案是否确实是正确的方法,请告诉我。

我将我的 .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"

生活是美好的。

关于c++ - SFML 2.3.2 与 Linux 中的 Qt 5.7 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38334040/

相关文章:

dynamic - Tensorflow 可以在 Mac 上读取 HDFS 吗?

c++ - 将问题与 libMathEval 联系起来

c++ - 非标准 C++ 后缀的自动依赖跟踪

c++ - C++ 整数除法如何用于限制和负值?

qt - 学习 QML 的资源?

c - 如何将一个库的全局变量使用到另一库

c++ - 如何在 C++ 中处理堆

c++ - 将 glTexSubimage2d 与动态大小的纹理数组一起使用

c++ - 在 C++/Qt/Windows 中控制 Windows 屏幕方向

qt - 将属性添加到 Q_PROPERTYs