Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Qt installer framework 4.0 64-bit Windows compile error



  • I am trying to compile Qt installer framework 4.0 64-bit on Windows using nmake (Visual Studio 2019, MSVC 14) as the default installer framework is 32-bit. However, I am getting these Linker errors.

    Is there any other source to download working 64-bit installer framework for windows 10?

    EDIT: I did the following which produced these errors

    qmake
    nmake
    
    7z.lib(EnumDirItems.obj) : error LNK2019: unresolved external symbol __imp_GetFileSecurityW referenced in function "public: void __cdecl CDirItems::AddSecurityItem(class UString const &,int &)" (?AddSecurityItem@CDirItems@@QEAAXAEBVUString@@AEAH@Z)
    7z.lib(ArchiveExtractCallback.obj) : error LNK2019: unresolved external symbol __imp_OpenProcessToken referenced in function "public: __cdecl CArchiveExtractCallback::CArchiveExtractCallback(void)" (??0CArchiveExtractCallback@@QEAA@XZ)
    7z.lib(ArchiveExtractCallback.obj) : error LNK2019: unresolved external symbol __imp_AdjustTokenPrivileges referenced in function "public: __cdecl CArchiveExtractCallback::CArchiveExtractCallback(void)" (??0CArchiveExtractCallback@@QEAA@XZ)
    7z.lib(ArchiveExtractCallback.obj) : error LNK2019: unresolved external symbol __imp_SetFileSecurityW referenced in function "public: virtual long __cdecl CArchiveExtractCallback::SetOperationResult(int)" (?SetOperationResult@CArchiveExtractCallback@@UEAAJH@Z)
    7z.lib(ArchiveExtractCallback.obj) : error LNK2019: unresolved external symbol __imp_LookupPrivilegeValueW referenced in function "public: __cdecl CArchiveExtractCallback::CArchiveExtractCallback(void)" (??0CArchiveExtractCallback@@QEAA@XZ)
    7z.lib(7zHandlerOut.obj) : error LNK2019: unresolved external symbol __imp_SysFreeString referenced in function "public: __cdecl CMyComBSTR::~CMyComBSTR(void)" (??1CMyComBSTR@@QEAA@XZ)
    ..\..\bin\installerbase.exe : fatal error LNK1120: 37 unresolved externals
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64\link.EXE"' : return code '0x460'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\bin\HostX64\x64\nmake.exe"' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    


  • These are all Windows functions. I guess they are implemented in the AdvApi32.dll (yes, even on 64-bit). If you lookup the functions at Microsoft, you will find there the missing dll. Like
    OpenProcessToken.
    With that you just have to link the corresponding .lib file.
    Best regards
    Holger



  • @HoMa thanks I will check and confirm


Log in to reply