【发布时间】:2015-01-09 15:58:25
【问题描述】:
我使用本教程 http://www.sfml-dev.org/tutorials/2.0/start-cb.php 将 SFML 添加到我的 Code::Blocks 项目中,但我遇到了这样的错误:
undefined reference to sf::Texture::getSize() const
undefined reference to sf::Sprite::Sprite()
undefined reference to sf::Sprite::setTexture(sf::Texture const&, bool)
以下是我的设置截图:
班轮设置:
编译器的搜索目录:
链接器的搜索目录:
编译器设置:
||=== Build: Release in Space (compiler: GNU GCC Compiler) ===|
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Sprite::Sprite()'
undefined reference to `sf::Sprite::setTexture(sf::Texture const&, bool)'
undefined reference to `sf::Transformable::setPosition(float, float)'
undefined reference to `sf::Sprite::Sprite()'
undefined reference to `sf::Sprite::setTexture(sf::Texture const&, bool)'
undefined reference to `sf::Transformable::setPosition(float, float)'
undefined reference to `sf::RenderStates::Default'
undefined reference to `sf::RenderTarget::draw(sf::Drawable const&, sf::RenderStates const&)'
undefined reference to `vtable for sf::Sprite'
undefined reference to `vtable for sf::Sprite'
undefined reference to `sf::Transformable::~Transformable()'
(.text$_ZN2sf6SpriteD1Ev[__ZN2sf6SpriteD1Ev]+0x3e)
undefined reference to `vtable for sf::Sprite'
(.text$_ZN2sf6SpriteD1Ev[__ZN2sf6SpriteD1Ev]+0x45)
undefined reference to `vtable for sf::Sprite'
(.text$_ZN2sf6SpriteD1Ev[__ZN2sf6SpriteD1Ev]+0x57)
undefined reference to `sf::Transformable::~Transformable()'|
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined references to `sf::Texture::getSize() const' follow
undefined reference to `sf::Clock::Clock()'
undefined reference to `sf::seconds(float)'
undefined reference to `sf::Time::Time()'
undefined reference to `sf::operator<(sf::Time, sf::Time)'
undefined reference to `sf::Time::Zero'
undefined reference to `sf::Time::Zero'
undefined reference to `sf::Clock::restart()'
undefined reference to `sf::operator+=(sf::Time&, sf::Time)'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Texture::getSize() const'
undefined reference to `sf::Sprite::Sprite()'
undefined reference to `sf::Sprite::setTexture(sf::Texture const&, bool)'
undefined reference to `sf::Transformable::setPosition(float, float)'
undefined reference to `sf::Sprite::Sprite()'
undefined reference to `sf::Sprite::setTexture(sf::Texture const&, bool)'
undefined reference to `sf::Transformable::setPosition(float, float)'
undefined reference to `sf::RenderStates::Default'
undefined reference to `sf::RenderTarget::draw(sf::Drawable const&, sf::RenderStates const&)'|
undefined reference to `vtable for sf::Sprite'
undefined reference to `vtable for sf::Sprite'
undefined reference to `sf::Transformable::~Transformable()'
undefined reference to `sf::Sprite::getGlobalBounds() const'
undefined reference to `sf::Sprite::getTextureRect() const'
undefined reference to `sf::Transformable::getScale() const'
undefined reference to `sf::Transformable::getTransform() const'
undefined reference to `sf::Sprite::getTextureRect() const'
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build failed: 50 error(s), 0 warning(s) (0 minute(s), 1 second(s)) ===|
【问题讨论】:
-
您是否按照该教程中的链接器说明进行操作?因为您显然没有链接到库。
-
@mbgda 我试图一步一步地学习教程,也包括链接器说明
-
我们可以从您发布的内容中看出您没有链接到库。我们不知道有关您如何设置项目的任何相关信息。您是在尝试链接静态库还是动态库?你的链接器设置是什么?等等。
-
请提供构建日志。
-
这不应该导致链接器错误,但是您已经定义了 SFML_STATIC 但似乎您正在链接动态库(根据您链接的文档,静态命名为 LIBNAME-s RELEASE 和 LIBNAME-s-d 用于调试)
标签: c++ linker static-libraries sfml