Qt Creator里如何设置gcc编译的优化等级

2025-04-04 19:21:53
推荐回答(2个)
回答(1):

不是release优化的问题。如果是直接运行的话,mingwm10.dll、libgcc_s_dw2-1.dll、qtcore4.dll、qtgui4.dll,还有相应的你用到的库都要放在运行目录下,用dependency walker可以看到dll依赖情况。
然后用到的插件比如qmltooling、imageformats等目录也需要拷到运行目录中,这个用工具看不到依赖,只能全拷然后用排除法,有经验之后代码里哪些用到了就知道了。

出现runtime library错误的最大可能性就是运行目录下的插件不完整。

另外有一种解决方法就是把qt改成静态链接,编译进exe,商业版允许这样做,lgpl版的话如果不是自用就有法律风险。

回答(2):

首先保证原来你的Qt中已经编译好gcc的库了,如果没有,必须全部编译
mingw设置好bin目录的path变量,在cmd里使用where g++,看看第一个是否是mingw的
进入 Qt的文件夹
configure -debug-and-release -platform win32-g++ -fast -shared -opensource
这样会重新生成指定gcc编译器的qmake
如果你没有库,那么再执行ming32-make
注意:mingw现在使用的是dw2异常,qt原来的编译好的官方mingw版本是使用sjlj异常,二者的库不能通用,现在的预编译新版本不知道用的什么异常模型,如果发生链接问题时,那么你需要使用mingw32-make重新编译qt库。