sf ::

2017-09-30 17 views
0

에 대한 정의되지 않은 참조 C++로 GUI 응용 프로그램을 만들고 싶었고 SFML이 좋은 선택임을 알았습니다. 다행히도 나는 SFML (2.4)가 이미 내 시스템에 설치되어 있기 때문에 나는 리눅스에있다. 그래서 자습서를 찾기 시작했고 간단한 창을 만드는 것을 발견했습니다. 하지만 내가 코드를 실행하면 sf : :(함수를 사용하고 있습니다.)에 대한 정의되지 않은 참조를 말하는 오류가 발생합니다. 코드는 다음과 같습니다.sf ::

#include <SFML/Graphics.hpp> 

int main(void) 
{ 

    sf::RenderWindow window(sf::VideoMode(640,480),"SFML working"); 

    return 0; 
    } 

그리고 여기에 오류 로그가 있습니다.

cd '/home/jasper/NetBeansProjects/SFML' 
/usr/bin/make -f Makefile CONF=Debug 
"/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf 
make[1]: Entering directory '/home/jasper/NetBeansProjects/SFML' 
"/usr/bin/make" -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux/sfml 
make[2]: Entering directory '/home/jasper/NetBeansProjects/SFML' 
mkdir -p dist/Debug/GNU-Linux 
g++  -o dist/Debug/GNU-Linux/sfml build/Debug/GNU-Linux/main.o 
build/Debug/GNU-Linux/main.o: In function `main': 

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::String::String(char const*, std::locale const&)' 

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::VideoMode::VideoMode(unsigned int, unsigned int, unsigned int)' 

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::RenderWindow::RenderWindow(sf::VideoMode, sf::String const&, unsigned int, sf::ContextSettings const&)' 

/home/jasper/NetBeansProjects/SFML/main.cpp:6: undefined reference to `sf::RenderWindow::~RenderWindow()' 

collect2: error: ld returned 1 exit status 
nbproject/Makefile-Debug.mk:62: recipe for target 'dist/Debug/GNU-Linux/sfml' failed 
make[2]: *** [dist/Debug/GNU-Linux/sfml] Error 1 
make[2]: Leaving directory '/home/jasper/NetBeansProjects/SFML' 
nbproject/Makefile-Debug.mk:59: recipe for target '.build-conf' failed 
make[1]: *** [.build-conf] Error 2 
make[1]: Leaving directory '/home/jasper/NetBeansProjects/SFML' 
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed 
make: *** [.build-impl] Error 2 

BUILD FAILED (exit value 2, total time: 172ms) 

나는 Google에서 해결책을 찾으려고했지만 아무 것도 찾을 수 없었습니다. 그래서 나는 몇몇 전문가의 견해가 좋을 것이라고 생각했다. 도와주세요. 감사합니다

+1

[정의되지 않은 참조/확인되지 않은 외부 기호 오류 란 무엇이며 어떻게 수정합니까?] (https://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved- 외부 기호 오류와 어떻게해야 할 것인가? – arrowd

+0

주 :'main' 선언의'void'는 C-ism이며 C++에서는 완전히 무의미합니다 (무해한). 단지 그것을 제거하고' int main()'. –

답변

1

SFML 라이브러리와의 링크를 잊어 버렸습니다. 사람들은 적어도 다음과 같습니다

, 리눅스가 다음과 같이 수행 할 수 있습니다 sfml 창

  • sfml 시스템 :

    g++ myapp.o -o myapp -lsfml-graphics -lsfml-window -lsfml-system 
    

    또는 IDE를 사용하는 경우 링커 설정에서 추가 종속성으로 지정하십시오.

  • +0

    SFML 라이브러리를 연결할 수 있도록이 줄을 넷빈에 배치 할 위치는 어디입니까? –

    +0

    빌드 - 링커 - 추가 종속성. – rustyx

    +0

    지금 다른 오류가 나타납니다. –