hello,
J'ai un petit problème avec mon code, il m'affiche le message d'erreur suivant:
obj\Debug\textMenu.o:textMenu.cpp:(.rdata$_ZTV8TextMenu[__ZTV8TextMenu]+0x10)||undefined reference to `TextMenu::draw(sf::RenderTarget&, sf::RenderStates) const'|
Voici le code:
TextMenu.h:
#ifndef TEXTMENU_H_INCLUDED
#define TEXTMENU_H_INCLUDED
#include "menu.h"
class TextMenu : public sf::Drawable
{
public:
TextMenu();
~TextMenu();
sf::Text getText();
private:
virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const;
Logs log;
sf::Font font;
sf::Color color;
sf::Text text[4];
sf::Vector2f resolution;
};
#endif // TEXTMENU_H_INCLUDED
TextMenu.cpp:
#include "textMenu.h"
using namespace std;
using namespace sf;
const string FONT_LOCATION("Ressources/font.ofisa");
const Color FONT_COLOR(255,255,255,150);
TextMenu::TextMenu()
{
if(!font.loadFromFile(FONT_LOCATION))
{
log.add("Error: Failed to load menu font location !");
}
else
{
VideoMode currentVideoMode = VideoMode::getDesktopMode();
resolution.x = currentVideoMode.getDesktopMode().width;
resolution.y = currentVideoMode.getDesktopMode().height;
log.add("Menu font successful loaded !");
text->setFont(font);
text->setColor(FONT_COLOR);
text->setStyle(Text::Bold | Text::Underlined);
text->setCharacterSize(30);
... (juste des tranformation avec "text")
}
}
TextMenu::~TextMenu()
{
}
les #include dans le menu.h:
#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <SFML/System.hpp>
#include "logs.h"
#include "textMenu.h"
Et enfin dans le main il est appelé de la manière suivante:
TextMenu textmenu;
...
window.draw(textmenu);
J'ai lu sur les forums que l'erreur pourrait être due à une erreur de configuration de SFML, mais dans mon code seul la donction draw() pose problème... des idées ? Merci d'avance