2013-05-01 115 views
0

我试图让SFML在code :: blocks上工作,但每当我尝试测试示例代码时都会收到错误。我遵循http://www.sfml-dev.org/tutorials/2.0/start-cb.php的教程,但它似乎没有工作。code :: Blocks | SFML错误

我并不擅长这个,所以如果有人能帮上忙,那就太棒了。

这里是代码和错误的截图:http://i39.tinypic.com/nbdysj.jpg

下面是错误:

obj\Debug\test.o||In function `main':| 
C:\Users\Mads\Desktop\test\test.cpp|5|undefined reference to `sf::String::String(char const*, std::locale const&)'| 
C:\Users\Mads\Desktop\test\test.cpp|5|undefined reference to `sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)'| 
C:\Users\Mads\Desktop\test\test.cpp|5|undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)'| 
C:\Users\Mads\Desktop\test\test.cpp|6|undefined reference to `sf::CircleShape::CircleShape(float, unsigned int)'| 
C:\Users\Mads\Desktop\test\test.cpp|5|undefined reference to `sf::RenderWindow::~RenderWindow()'| 
C:\Users\Mads\Desktop\test\test.cpp|7|undefined reference to `sf::Color::Green'| 
C:\Users\Mads\Desktop\test\test.cpp|7|undefined reference to `sf::Shape::setFillColor(sf::Color const&)'| 
C:\Users\Mads\Desktop\test\test.cpp|15|undefined reference to `sf::Window::close()'| 
C:\Users\Mads\Desktop\test\test.cpp|12|undefined reference to `sf::Window::pollEvent(sf::Event&)'| 
C:\Users\Mads\Desktop\test\test.cpp|18|undefined reference to `sf::Color::Color(unsigned char, unsigned char, unsigned char, unsigned char)'| 
C:\Users\Mads\Desktop\test\test.cpp|18|undefined reference to `sf::RenderTarget::clear(sf::Color const&)'| 
C:\Users\Mads\Desktop\test\test.cpp|19|undefined reference to `sf::RenderStates::Default'| 
C:\Users\Mads\Desktop\test\test.cpp|19|undefined reference to `sf::RenderTarget::draw(sf::Drawable const&, sf::RenderStates const&)'| 
C:\Users\Mads\Desktop\test\test.cpp|20|undefined reference to `sf::Window::display()'| 
C:\Users\Mads\Desktop\test\test.cpp|9|undefined reference to `sf::Window::isOpen() const'| 
C:\Users\Mads\Desktop\test\test.cpp|23|undefined reference to `sf::RenderWindow::~RenderWindow()'| 
C:\Users\Mads\Desktop\test\test.cpp|23|undefined reference to `sf::RenderWindow::~RenderWindow()'| 
obj\Debug\test.o||In function `~CircleShape':| 
C:\Users\Mads\Desktop\SFML-2.0\include\SFML\Graphics\CircleShape.hpp|42|undefined reference to `vtable for sf::CircleShape'| 
C:\Users\Mads\Desktop\SFML-2.0\include\SFML\Graphics\CircleShape.hpp|42|undefined reference to `vtable for sf::CircleShape'| 
C:\Users\Mads\Desktop\SFML-2.0\include\SFML\Graphics\CircleShape.hpp|42|undefined reference to `sf::Shape::~Shape()'| 
||=== Build finished: 20 errors, 0 warnings ===| 
+0

请把代码中的问题。 1)阅读起来更容易2)人们可能想要复制/粘贴它。但是很快猜测,这是一个链接错误。有些东西没有设置为查找包含所有这些符号的库。 – BoBTFish 2013-05-01 07:32:42

+0

我建议你回头看看'创建和配置一个SFML项目'下的步骤,并确保你正确地遵循了它们,特别是开始的部分'下一步是将你的应用程序链接到SFML库(.a文件),您的代码将需要.' – BoBTFish 2013-05-01 07:39:23

+0

感谢您的回答。我会尝试重做一切,看看它是否工作 – 2013-05-01 07:40:27

回答

0

我有同样的问题,我不得不这样做两步得到它的工作。

1)手动编译SFML而不是使用打包版本。

2)将手动编译的版本添加到构建选项中的项目中。

在此之前,即使我按照文档中的说明指定了所有内容,我仍经常发现这些错误。

0

你应该添加到您的CB项目文件* .cbp这样的:

<Linker> 
     <Add library="GL" /> 
</Linker>