bug知悉
- 在重新编译新版本Qt(Qt 5.13.0)时,遇见的问题。静态编译成功并添加到Kit后,编译后的程序运行提示缺少libgcc_s_dw2-1.dll等三个dll。这个问题在新版本里有略微变化,所以记录下来。
环境
- Qt 5.13.0 + MinGW 32bit
- window 10 64bit
问题解决
- 先确定静态编译库的目录,如果是从电脑其他位置或者是他人电脑上拷贝过来的,可能会出现Qt Creator提示*“Qt没有被正确安装,请运行make install”。这是因为qmake里有编译时的路径信息,并且与现在的目录信息不对应,出现这种情况,简单的办法是在E:\Qt\Qt5.13.0_MinGW_static\bin*目录下新建qt.conf文件:
[paths]
Prefix = …
- 修改E:\Qt\Qt5.13.0_MinGW_static\mkspecs\common\g+±win32.conf。
- 修改前:
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
QMAKE_LFLAGS_RELEASE = -Wl,-s
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL = -shared
- 修改后:
QMAKE_LFLAGS = -static //新增
QMAKE_LFLAGS_EXCEPTIONS_ON = -mthreads
QMAKE_LFLAGS_RELEASE = -Wl,-s
QMAKE_LFLAGS_CONSOLE = -Wl,-subsystem,console
QMAKE_LFLAGS_WINDOWS = -Wl,-subsystem,windows
QMAKE_LFLAGS_DLL = -static //修改
(之前版本是修改的E:\Qt\Qt5.13.0_MinGW_static\mkspecs\win32-g++\qmake.conf)
写在后面
- 具体静态编译的过程可参考:
- Qt最新版5.13在Windows环境静态编译安装和部署的完整过程(VS 2017/VS 2019)
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。