首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未明确提及sf:

未明确提及sf:
EN

Stack Overflow用户
提问于 2017-09-30 07:10:54
回答 1查看 10K关注 0票数 3

我想在c++中制作gui应用程序,并发现SFML是一个不错的选择。幸运的是,我在linux上,所以SFML(2.4)已经安装在我的系统上了。因此,我开始寻找一些教程,并找到了一个简单的窗口。但是,当我运行代码时,我会看到一个错误,即对sf::(我正在使用的函数)的未定义引用。这是密码

代码语言:javascript
复制
#include <SFML/Graphics.hpp>

 int main(void)
 {

   sf::RenderWindow window(sf::VideoMode(640,480),"SFML working");

     return 0;
  }

这是错误日志。

代码语言:javascript
复制
cd '/home/jasper/NetBeansProjects/SFML'
/usr/bin/make -f Makefile CONF=Debug
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/home/jasper/NetBeansProjects/SFML'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux/sfml
make[2]: Entering directory '/home/jasper/NetBeansProjects/SFML'
mkdir -p dist/Debug/GNU-Linux
g++     -o dist/Debug/GNU-Linux/sfml build/Debug/GNU-Linux/main.o 
build/Debug/GNU-Linux/main.o: In function `main':

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::String::String(char const*, std::locale const&)'

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)'

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)'

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::RenderWindow::~RenderWindow()'

collect2: error: ld returned 1 exit status
nbproject/Makefile-Debug.mk:62: recipe for target 'dist/Debug/GNU-Linux/sfml' failed
make[2]: *** [dist/Debug/GNU-Linux/sfml] Error 1
make[2]: Leaving directory '/home/jasper/NetBeansProjects/SFML'
nbproject/Makefile-Debug.mk:59: recipe for target '.build-conf' failed
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory '/home/jasper/NetBeansProjects/SFML'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 172ms)

我试过在google上寻找解决方案,但没有找到任何有效的解决方案。所以我想一些专家的意见会更好。请帮帮忙。谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-09-30 07:39:00

您忘了链接到SFML库。这些至少是:

  • sfml-图形
  • sfml
  • sfml-系统

正如文档所解释的,在Linux上可以这样做:

代码语言:javascript
复制
g++ myapp.o -o myapp -lsfml-graphics -lsfml-window -lsfml-system

或者,如果使用IDE,则将它们指定为链接器设置中的附加依赖项。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46500451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档