回帖:fsu0413:QMAKE_LIBS_NETWORK 这一行用QQtPatcher改成了
QMAKE_LIBS_NETWORK = -lws2_32
你这个错误应该是QtGui模块的,可以看看相关的pri,如果执行了QQtPatcher的话也应该是该过的
....... (2021-12-10 06:13)
重新安装 qt5.12.12,下载静态库解压,运行D:\ProgramFiles\Qt\Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull>QQtPatcher.exe
提示信息是:
D:\ProgramFiles\Qt\Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull>QQtPatcher.exe
Warning: Seems like you are using linked OpenSSL. Since we can't detect the path where you put OpenSSL in, you should probably manually modify D:/ProgramFiles/Qt/Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull/mkspecs/modules/qt_lib_network_private.pri after you moved OpenSSL.
查看D:\ProgramFiles\Qt\Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull\mkspecs\modules\qt_lib_gui_private.pri的内容如下:
QT.gui_private.VERSION = 5.12.12
QT.gui_private.name = QtGui
QT.gui_private.module =
QT.gui_private.libs = $$QT_MODULE_LIB_BASE
QT.gui_private.includes = $$QT_MODULE_INCLUDE_BASE/QtGui/5.12.12 $$QT_MODULE_INCLUDE_BASE/QtGui/5.12.12/QtGui
QT.gui_private.frameworks =
QT.gui_private.depends = core_private gui
QT.gui_private.uses =
QT.gui_private.module_config = v2 staticlib internal_module
QT.gui_private.enabled_features = dxguid direct3d9 angle_d3d11_qdtd dxgi direct3d11 direct2d direct2d1_1 dxgi1_2 direct3d11_1 directwrite directwrite1 directwrite2 egl freetype gif harfbuzz ico jpeg multiprocess png tuiotouch
QT.gui_private.disabled_features = xkbcommon xcb accessibility-atspi-bridge directfb drm_atomic egl_x11 eglfs eglfs_brcm eglfs_egldevice eglfs_gbm eglfs_mali eglfs_openwfd eglfs_rcar eglfs_viv eglfs_viv_wl eglfs_vsp2 eglfs_x11 evdev system-freetype fontconfig integrityfb integrityhid kms libinput libinput-axis-api linuxfb mirclient mtdev system-harfbuzz system-jpeg system-png system-xcb texture_format_astc_experimental tslib vnc vsp2 xlib xcb-xlib
QMAKE_LIBS_DXGUID = -ldxguid
QMAKE_LIBS_D3D9 = -ld3d9
QMAKE_LIBS_DXGI = -ldxgi
QMAKE_LIBS_D3D11 = -ld3d11
QMAKE_LIBS_D2D1 = -ld2d1
QMAKE_LIBS_D2D1_1 = -ld2d1
QMAKE_LIBS_DXGI1_2 = -ldxgi
QMAKE_LIBS_D3D11_1 = -ld3d11
QMAKE_LIBS_DWRITE = -ldwrite
QMAKE_LIBS_DWRITE_1 = -ldwrite
QMAKE_LIBS_DWRITE_2 = -ldwrite
查看D:\ProgramFiles\Qt\Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull\mkspecs\modules\qt_lib_network_private.pri 的内容为:
QT.network_private.VERSION = 5.12.12
QT.network_private.name = QtNetwork
QT.network_private.module =
QT.network_private.libs = $$QT_MODULE_LIB_BASE
QT.network_private.includes = $$QT_MODULE_INCLUDE_BASE/QtNetwork/5.12.12 $$QT_MODULE_INCLUDE_BASE/QtNetwork/5.12.12/QtNetwork
QT.network_private.frameworks =
QT.network_private.depends = core_private network
QT.network_private.uses = openssl
QT.network_private.module_config = v2 staticlib internal_module
QT.network_private.enabled_features = openssl-linked openssl system-proxies
QT.network_private.disabled_features = securetransport libproxy linux-netlink
QMAKE_LIBS_OPENSSL = libssl libcrypto libadvapi32 libcrypt32 libuser32 libgdi32 libwsock32 libws2_32
QMAKE_LIBS_NETWORK = -lws2_32
我想 QQtPatcher.exe应该是修改成功了。
但是编译还是出现错误:
g++ -Wl,-s -static -Wl,--gc-sections -Wl,-subsystem,windows -mthreads -o release\QTester104.exe release/main.o release/mainwindow.o release/iec104_class.o release/logmsg.o release/qiec104.o release/qtester104_plugin_import.o release/moc_mainwindow.o release/moc_qiec104.oD:\ProgramFiles\Qt\Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull\plugins\styles\libqwindowsvistastyle.a -LD:\Jenkins7\workspace\Qt\Q2wx3m7sf\buildDir\OpenSSL1.1.1l-Windows-x86-MinGW-GCC7.3.0\lib -LD:\ProgramFiles\Qt\Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull\lib D:\ProgramFiles\Qt\Qt5.12.12-Windows-x86-MinGW7.3.0-staticFull\plugins\platforms\libqwindows.a -lwinspool -lshlwapi -lwtsapi32 D:\ProgramFiles\Qt\Qt5.12.12-Windows-x86