에 대한 정의되지 않은 참조 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에서 해결책을 찾으려고했지만 아무 것도 찾을 수 없었습니다. 그래서 나는 몇몇 전문가의 견해가 좋을 것이라고 생각했다. 도와주세요. 감사합니다
[정의되지 않은 참조/확인되지 않은 외부 기호 오류 란 무엇이며 어떻게 수정합니까?] (https://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved- 외부 기호 오류와 어떻게해야 할 것인가? – arrowd
주 :'main' 선언의'void'는 C-ism이며 C++에서는 완전히 무의미합니다 (무해한). 단지 그것을 제거하고' int main()'. –