2014-03-12 2 views
0

나는 도서관 iostream과 문자열로만 구성된 Code :: Blocks에서 간단한 텍스트 어드벤처 게임을 만들었습니다. 내가 컴파일하고 실행하면이 프로그램에 완벽하게 작동하지만 .exe 파일 자체가 내가 구글 검색의 무리를했다컴퓨터에서 libgcc_s_dw2-1.dll이 누락되었습니다.

http://i1273.photobucket.com/albums/y414/blueblur112198/error_zps558a6867.png

다음 이미지에 표시되는 오류를 실행하려고 할 때 대답하지만 그들 중 누구도 일하지 않았습니다. 나는 또한이 사이트를 검색했는데 여기 아무 것도 대답하지 않았다. 그래서 나는 여기에 설명을하고 나의 구체적인 문제를 묻기로 결정했다.

제 컴파일러는 GNU GCC이고 개발 플랫폼은 Windows 7 64 비트입니다.

답변

0

당신이 iostreamstring 모두를 사용하고 있기 때문에이 실행 파일은 string::begin()string::size(), 말의 정의를 포함하는 표준 라이브러리에 링크 할 필요가있다.

표준 라이브러리가 공유 라이브러리 (Windows 기반 인 경우 DLL)로 제작 된 경우 프로그램을 올바르게 실행하려면 해당 라이브러리를 찾아야합니다. Code :: Blocks 내에서 실행할 수있는 이유는 동적 객체를 찾기 위해 IDE가 디렉토리 목록에 라이브러리의 경로를 포함하고 있기 때문입니다. 그러나 실행 파일을 단독으로 실행할 때마다 시스템에서 DLL을 찾을 수 없습니다.

해결 방법은 실행 파일 폴더에 libgcc_s_dw2-1.dll을 포함하거나 (지루한) 경로가 포함 된 경로를 PATH 환경 변수에 추가하는 것입니다.

+0

어떻게 그렇게 할 것입니까? 나는이 언어에 조금 익숙하지 않다. – Blueblur

+0

@Blueblur 첫 번째 옵션은 단순히 컴파일러 배포판의'bin' 디렉토리로 가서 DLL을 잡고 실행 파일이 위치한 디렉토리에 붙여 넣기 만하면됩니다. 두 번째는 환경 변수 설정과 관련이 있습니다. [this] (http://stackoverflow.com/questions/9546324/adding-directory-to-path-environment-variable-in-windows)를 참고하십시오. –

관련 문제