Details
-
Bug
-
Resolution: Duplicate
-
P1: Critical
-
None
-
6.9
-
None
Description
When doing prefix module build for -debug-and-relase -force-debug-info
linker in qtdeclartive failes with (when building debug)
C:\PROGRA~2\MICROS~2\2022\BUILDT~1\VC\Tools\MSVC\1442~1.344\bin\Hostx64\x64\link.exe /nologo src\qmlxmllistmodel\CMakeFiles\QmlXmlListModel.dir\Debug\QmlXmlListModel_autogen\mocs_compilation_Debug.cpp.obj src\qmlxmllistmodel\CMakeFiles\QmlXmlListModel.dir\Debug\Debug\QmlXmlListModel_resource.rc.res src\qmlxmllistmodel\CMakeFiles\QmlXmlListModel.dir\Debug\qqmlxmllistmodel.cpp.obj src\qmlxmllistmodel\CMakeFiles\QmlXmlListModel.dir\Debug\qmlxmllistmodel_qmltyperegistrations.cpp.obj src\qmlxmllistmodel\CMakeFiles\QmlXmlListModel.dir\Debug\.qt\rcc\qrc_qmake_QtQml_XmlListModel.cpp.obj /out:bin\Qt6QmlXmlListModeld.dll /implib:lib\Qt6QmlXmlListModeld.lib /pdb:bin\Qt6QmlXmlListModeld.pdb /dll /version:6.10 /machine:x64 /debug -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE -CETCOMPAT lib\Qt6QmlModelsd.lib lib\Qt6Qmld.lib C:\opt\qt\6.10.msvc22.debug_and_release\lib\Qt6Network.lib C:\opt\qt\6.10.msvc22.debug_and_release\lib\Qt6Core.lib mpr.lib userenv.lib ws2_32.lib shell32.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST:EMBED,ID=2 x64 /debug -DYNAMICBASE -NXCOMPAT -LARGEADDRESSAWARE -CETCOMPAT lib\Qt6QmlModelsd.lib lib\Qt6Qmld.lib C:\opt\qt\6.10.msvc22.debug_and_release\lib\Qt6Network.lib C:\opt\qt\6.10.msvc22.debug_and_release\lib\Qt6Core.lib mpr.lib userenv.lib ws2_32.lib shell32.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib /MANIFEST:EMBED,ID=2 Creating library lib\Qt6QmlXmlListModeld.lib and object lib\Qt6QmlXmlListModeld.exp qqmlxmllistmodel.cpp.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: __cdecl QtPrivate::ResultIteratorBase::~ResultIteratorBase(void)" (__imp_??1ResultIteratorBase@QtPrivate@@QEAA@XZ) referenced in function "public: struct QQmlXmlListModelQueryResult const & __cdecl QFutureInterface<struct QQmlXmlListModelQueryResult>::resultReference(int)const " (?resultReference@?$QFutureInterface@UQQmlXmlListModelQueryResult@@@@QEBAAEBUQQmlXmlListModelQue
Despite msvc22 doing some mumbo jumbo with requiring extranal symbol for implicit destructor in ResultIteratorBase , it sill fine as long as you link to correct debug libs. However above link command have
C:\opt\qt\6.10.msvc22.debug_and_release\lib\Qt6Core.lib
switching to
C:\dev\build\6.10\qtbased.msvc22.debug_and_release\lib\Qt6Cored.lib
Fixes the linker issue. Note besides liking with wrong qt6core.lib , the correct one qt6cored.lib is in the build dir of qtbase and not installed into prefix path, which makes it even more broken.
Attachments
Issue Links
- duplicates
-
QTBUG-115242 Ninja Multi-Config build with MSVC fails after successfull configuration
-
- Closed
-