2014-06-13 1 views
0

내가 SFML 게임을 쓰고 있어요 내가 코드를 실행하려고하면이 오류입니다 내가 얻을 :이 간단한 C++ 코드에서 프로 시저 엔트리 포인트 오류가 발생하는 이유는 무엇입니까?

_gxx_personality_v0 동적 링크 라이브러리에서 찾을 수 없습니다 프로 시저 시작 libstdc++-6.dll

모든 라이브러리에 올바르게 링크했으며 포함 파일이 정확합니다. 심지어 다른 답변을 내 excectable 있지만 여전히 아무것도 디렉터리 libstdc++-6.dll 넣어 넣어 시도했다.

또 다른 대답은 디렉토리를 PATH 환경 변수에있는 다른 디렉토리 앞에 두는 것이 었습니다. 나는 그것을 수행했지만 여전히 작동하지 않았습니다.

참고 : SFML 코드를 사용하려고 할 때만이 오류가 발생합니다. 내가 그것을 주석 처리 할 때 성공적으로 실행됩니다.

+0

당신이'_gxx_perso * p * nality_v0'에서 만든 오타입니까, 아니면 실제 오류에서 그렇게 말 했나요? – nmaier

+0

@nmaier Typo. Thx –

+2

장소에 복사 한'libstdC++ - 6.dll' 파일이 실제로 사용하는 컴파일러에 맞는 파일인지 확인 했습니까? 여러개의'mingw-gcc'가 설치되어 있는데, 별도로 설치된 버전 인'MINGW/MSYS', 자체적으로 설치되는'cygwin','mingw-w64' 컴파일러가 있습니다. 'libstdC++ - 6.dll'의 버전은 호환 가능하지 않습니다 ... – nmaier

답변

2

좋아요, 당신이 추가 한 메모는 메모리가 올바르게 작동하는 경우 SFML 자료가 다른 컴파일러 버전/구성으로 컴파일되었음을 알려줍니다.

SFML과 코드가 동일한 컴파일러 (버전/구성) 또는 적어도 호환 가능한 컴파일러 (버전/구성)에 의해 컴파일되었는지 확인해야합니다.

SFML의 최신 바이너리 패키지에는 GCC 4.7이 사용되고 최신 Code :: Blocks (mingw)에는 TDM GCC 4.7 빌드가 포함되어 있으므로 Code :: Blocks를 업그레이드하면 충분할 수 있습니다. SFML GCC 4.7 TDM (SJLJ) 패키지를 사용하십시오 (물론 Code :: Blocks와 함께 제공되는 gcc를 사용하십시오).

그렇지 않으면 TDM-GCC 4.7 컴파일러 빌드를 수동으로 설치하거나 아무 것도 작동하지 않으면 SFML을 직접 컴파일해야합니다.

+0

감사합니다. 이것은 효과가 있었다. :) –

1

이것은 단지 PATH 주문 문제입니다.

대부분의 경우 경로에 여러 개의 libstdC++ - 6.dll 파일이로드됩니다. 명령 프롬프트에서 where libstdc++-6.dll을 실행하여 확인할 수 있습니다.

다른 작업보다 먼저 MinGW bin 폴더가로드되어 있는지 확인하십시오. 글로벌 PATH에서 처음으로 이동하십시오.

+0

저의 경우입니다 : 사용자 PATH에 MinGW 경로가 있었는데,이 경로는 전역 PATH 뒤에로드됩니다. 'where' 명령이 가장 유용합니다. 지적 해 주셔서 감사합니다. –

관련 문제