Я потратил не менее 5 часов, пытаясь заставить библиотеку sfml работать с моим идеем QT-creator. Я следовал этому руководству https://github.com/LaurentGomila/SFML/wiki/Tutorial%3A-Compile-and-Link-SFML-with-Qt-Creator, но все равно не повезло.
Я постоянно получаю сообщение об ошибке, что члены классов не существуют после создания простого кода. Я могу создавать экземпляры классов, но я получаю несколько ошибок при попытке использовать
созданных объектов. Я пробовал искать связанные с библиотекой проблемы, проблемы с sfml, но я не думаю, что ищу правильную проблему.класс sf :: RenderWindow 'не имеет имени с именем' clear '
Это работает и отображает окно, которое никогда не будет близко до принуждая для выхода из программы:
#include <SFML/Graphics.hpp>
int main()
{
sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
//sf::CircleShape shape(100.f);
//shape.setFillColor(sf::Color::Green);
while (true)//window.isOpen())
{
sf::Event event;
/*while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}*/
//window.clear();
//window.draw(shape);
//window.display();
}
return 0;
}
Как только я удалить один комментарий ошибка выскакивает. Я не могу понять, в чем дело, что происходит.
Заранее спасибо.
Extra Info
TEMPLATE = app
#CONFIG += console
CONFIG -= qt
SOURCES += main.cpp
LIBS += -L"/home/user/Projects/SFML/lib"
CONFIG(release, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-network -lsfml-window -lsfml-system
CONFIG(debug, debug|release): LIBS += -lsfml-audio -lsfml-graphics -lsfml-network -lsfml-window -lsfml-system
INCLUDEPATH += "/home/user/Projects/SFML/include"
DEPENDPATH += "/home/user/Projects/SFML/include"
main.cpp: In function 'int main()':
main.cpp:6:5: error: 'CircleShape' is not a member of 'sf'
main.cpp:6:21: error: expected ';' before 'shape'
main.cpp:7:5: error: 'shape' was not declared in this scope
main.cpp:12:23: error: 'class sf::RenderWindow' has no member named 'pollEvent'
main.cpp:14:23: error: 'class sf::Event' has no member named 'type'
main.cpp:15:24: error: 'class sf::RenderWindow' has no member named 'close'
main.cpp:18:16: error: 'class sf::RenderWindow' has no member named 'clear'
main.cpp:19:16: error: 'class sf::RenderWindow' has no member named 'draw'
main.cpp:20:16: error: 'class sf::RenderWindow' has no member named 'display'
16:25:10: The process "/usr/bin/make" exited with code 2.
Error while building project sfmlTest (target: Desktop)
When executing build step 'Make'
make: Leaving directory `/home/username/Documents/Projects/c++/Sfml/sfmlTest-build-desktop-Qt_4_8_1_in_PATH__System__Release'
Можете ли вы предоставить больше информации, особенно точный пример ошибки, ОС и компилятора, который вы используете, и как вы точно настроили свой проект? – Lukas
@ Lukas - Я буду снабжать все более аккуратно и упорядоченно на дне. Тем не менее, я обеспечил все, кроме ОС. – Andrew
Ошибка обычно держится больше, чем только текст, она содержит цифры, указывающие, где именно возникает проблема. Qt Creator - это IDE, которая может использовать множество разных компиляторов, поэтому вам нужно быть конкретным. И вы только что сказали, что вы «следовали» за учебником, что не исключает изменений в файле проекта, что, в свою очередь, может привести к ошибке. – Lukas