2012-06-16 2 views
1

Я пытаюсь скомпилировать учебник SFML 2.0 с помощью Eclipse. Программа компилируется нормально, но когда я запускаю его я получаю следующее сообщение об ошибке:Неопределенный символ - ошибка поиска символов

/home/eXistys/workspace/SFML/Debug/SFML: symbol lookup error: /home/eXistys/workspace/SFML/Debug/SFML: undefined symbol: _ZN2sf12RenderStates7DefaultE

Под GCC C++ Compiler> Включает, у меня есть:

  • /home/eXistys/SFML/include

и под GCC C++ Linker У меня есть:

  • `SFML-графика
  • ` SFML-окна
  • `SFML-система

Что это может быть? Google не дает никаких результатов, SFML-форумы не дают ничего полезного, и я не могу найти что-либо действительно связанное с stackoverflow.

Вот код, который я успешно скомпилирован (исходный код this tutorial):

#include <SFML/Graphics.hpp> 

int main() 
{ 
    sf::RenderWindow window(sf::VideoMode(300, 200), "SFML works!"); 
    sf::Text text("Hello SFML"); 

    while (window.isOpen()) 
    { 
     sf::Event event; 
     while (window.pollEvent(event)) 
     { 
      if (event.type == sf::Event::Closed) 
       window.close(); 
     } 

     window.clear(); 
     window.draw(text); 
     window.display(); 
    } 

    return 0; 
} 

Я скачал последний снимок SFML 2,0 здесь: https://github.com/LaurentGomila/SFML

С наилучшими пожеланиями,

+0

Вы добавили библиотеки SFML в параметры проекта в eclipse? – Zeta

+0

Да, у меня есть. В GCC C++ Compiler> Включает, у меня есть/home/eXistys/SFML/include и под GCC C++ Linker У меня есть/home/eXistys/SFML/sfml2-build/lib и sfml-graphics, sfml-window, sfml-system в этом заказ. – Frank

ответ

2

Что вы отсутствуют sf::RenderStates::Default. Он объявлен в RenderStates.cpp, который должен быть частью sfml-графики. Вы уверены, что sfml-графика связана с вашей программой? Правильно ли установлено rpath? Я предполагаю, что вы создаете исполняемый файл программы, а не разделяемую библиотеку, не так ли? Вы пытались сделать LD_PRELOAD=/path/to/sfml-graphics/lib.so /path/to/program

+0

Если я следую вашему последнему шагу, я получаю следующее: eXistys @ linux-djdf: ~> LD_PRELOAD =/home/eXistys/SFML/sfml2-build/lib/libsfml-graphics.so/home/eXistys/workspace/SFML/Debug/SFML /home/eXistys/workspace/SFML/Debug/SFML: ошибка поиска символа: /home/eXistys/SFML/sfml2-build/lib/libsfml-graphics.so: undefined symbol: _ZN2sf6Window6createENS_9VideoModeERKSsjRKNS_15ContextSettingsE – Frank

+0

Кроме того, я Конечно, я правильно привязал sfml-графики. Однако я не знаю, что вы имеете в виду с Rpath. – Frank

+1

Видимо, вы не правильно использовали библиотеки sfml. Теперь вам не хватает sfml-окна. Пожалуйста, опубликуйте результат 'ldd/path/to/program' и ссылку команды из Eclipse (если доступно). – Greg

 Смежные вопросы

  • Нет связанных вопросов^_^