저는 최신 MinGW (32 비트)가 설치된 Windows 7 64 비트 시스템과 자체 MinGW와 함께 제공되는 Qt 5.5 SDK (다시 32 비트)가 있습니다. 사실 내가 유일하게 시스템을 사용하는 것은 아니기 때문에 독립형 MinGW를 제거 할 수 없습니다.누락 된 libgcc_s_dw2-1.dll
내 프로젝트는 qmake
이고 일반 C 프로젝트 (C++ 아님)입니다. 모든 것이 잘되지만 명령 행에서 바이너리를 실행하려고하면 시스템에서 libgcc_s_dw2-1.dll
이 누락되어 응용 프로그램을 시작할 수 없습니다.
문제를 조사한 결과 독립형 MinGW와 Qt SDK와 함께 제공된 패키지에 언급 된 DLL이 있다는 것을 발견했습니다.
- 독립는 MinGW -
libgcc_s_dw2-1.dll
바이너리가 위치한는 MinGW 설치 (gcc
,g++
,gdb
등) - Qt를는 MinGW의
bin
디렉토리 안에 위치 -libgcc_s_dw2-1.dll
C:\Qt\Tools\mingw492_32\i686-w64-mingw32\lib
디렉토리 안에 위치 MinGW 구성 요소의 바이너리는C:\Qt\Tools\mingw492_32\i686-w64-mingw32\bin
안에 있습니다.
PATH
변수를 설정하는 방법을 알고 싶습니다
:
- 응용 프로그램이 제대로 독립형는 MinGW 설치와
- 없음 충돌을 시작하지 발생
그냥 side-note : 나는 이미 여기에있는 다른 게시물을 확인했지만 솔루션을 찾을 수 없었다 (아마 나는 그것을 놓쳤다). 나는 또한 LIBS += -static
을 시도했지만 그 결과는 같습니다.
정적으로 libgcc와 libstdC++로 연결하는 것은 여기에있는 방법이 아닙니다. Qt가 DLL에 링크되어 있으므로 종속성이 생길 수 있으며, 그 위에 컴파일러 런타임과 C++ 표준 라이브러리가 있어야합니다. 귀하의 응용 프로그램, 가능한 글로벌 상태로 엉망이. – rubenvb
또한 MSYS2 환경에는 편리 할 Windows'ldd '가 있습니다. – rubenvb
@rubenvb - 예, 정적 링크가 늦어졌습니다 ... ldd에 관한 Windows (차가운)에 대한 링크가 있습니까? (어디 있나) - 나는 리눅스 도구가 훨씬 더 나은 것을 발견했다 ... –