2017-10-04 7 views
0

Codeblocks 버전을 작동하지 않습니다 16.01 SFML 버전 :SFML 프로젝트

2.4.2 내가 Codeblocks의 SFML 2.0 프로젝트를 만들었습니다. 새 프로젝트 -> SFML 프로젝트 -> SFML 2.0을 선택했습니다. 이 코드를 main.cpp 파일에 복사하고 컴파일했습니다. 내가 코드를 내장하는 경우

#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 (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; 
} 

나는 다음과 같은 오류를 가지고 :

> -------------- Build: Debug in aaa (compiler: GNU GCC Compiler)--------------- 
> 
> mingw32-g++.exe -LC:\sfml\SFML-2.4.2\lib -o bin\Debug\aaa.exe 
> obj\Debug\main.o -lmingw32 -luser32 -lgdi32 -lwinmm -ldxguid 
> C:\sfml\SFML-2.4.2\lib\libsfml-graphics.a 
> C:\sfml\SFML-2.4.2\lib\libsfml-window.a 
> C:\sfml\SFML-2.4.2\lib\libsfml-system.a -lsfml-graphics-s-d 
> -lsfml-window-s-d -lsfml-system-s-d -lsfml-main-d obj\Debug\main.o: In function `main': C:/Users/my/Documents/codeblocks/aaa/main.cpp:5: 
> undefined reference to `sf::String::String(char const*, std::locale 
> const&)' C:/Users/my/Documents/codeblocks/aaa/main.cpp:5: undefined 
> reference to `sf::VideoMode::VideoMode(unsigned int, unsigned int, 
> unsigned int)' C:/Users/my/Documents/codeblocks/aaa/main.cpp:5: 
> undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, 
> sf::String const&, unsigned int, sf::ContextSettings const&)' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:6: undefined reference 
> to `sf::CircleShape::CircleShape(float, unsigned int)' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:7: undefined reference 
> to `sf::Color::Green' C:/Users/my/Documents/codeblocks/aaa/main.cpp:7: 
> undefined reference to `sf::Shape::setFillColor(sf::Color const&)' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:15: undefined reference 
> to `sf::Window::close()' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:12: undefined reference 
> to `sf::Window::pollEvent(sf::Event&)' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:18: undefined reference 
> to `sf::Color::Color(unsigned char, unsigned char, unsigned char, 
> unsigned char)' C:/Users/my/Documents/codeblocks/aaa/main.cpp:18: 
> undefined reference to `sf::RenderTarget::clear(sf::Color const&)' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:19: undefined reference 
> to `sf::RenderStates::Default' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:19: undefined reference 
> to `sf::RenderTarget::draw(sf::Drawable const&, sf::RenderStates 
> const&)' C:/Users/my/Documents/codeblocks/aaa/main.cpp:20: undefined 
> reference to `sf::Window::display()' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:9: undefined reference 
> to `sf::Window::isOpen() const' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:23: undefined reference 
> to `sf::RenderWindow::~RenderWindow()' 
> C:/Users/my/Documents/codeblocks/aaa/main.cpp:23: undefined reference 
> to `sf::RenderWindow::~RenderWindow()' obj\Debug\main.o: In function 
> `ZN2sf11CircleShapeD1Ev': 
> C:/sfml/SFML-2.4.2/include/SFML/Graphics/CircleShape.hpp:41: undefined 
> reference to `vtable for sf::CircleShape' 
> C:/sfml/SFML-2.4.2/include/SFML/Graphics/CircleShape.hpp:41: undefined 
> reference to `vtable for sf::CircleShape' 
> C:/sfml/SFML-2.4.2/include/SFML/Graphics/CircleShape.hpp:41: undefined 
> reference to `sf::Shape::~Shape()' collect2.exe: error: ld returned 1 
> exit status Process terminated with status 1 (0 minute(s), 0 
> second(s)) 20 error(s), 0 warning(s) (0 minute(s), 0 second(s)) 

내가 어떤 성공없이 정적 및 동적 버전을 모두 사용했습니다. 무엇이 잘못 되었습니까?

+1

[정의되지 않은 참조/확인할 수없는 외부 기호 오류 란 무엇이며 어떻게 수정합니까?] (https://stackoverflow.com)/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-do-i-fix) – alseether

답변

0

내가 SFML의 잘못된 버전을 사용하고있는 것으로 나타났습니다. GCC 4.7 TDM (SJLJ- 32 비트 버전)을 다운로드했는데 작동했습니다.