unresolved external symbol __imp_CommandLineToArgvW in Windows build from source



  • I have a project I am maintaining where I need to OpenSSL support to WebKit on 5.5.1. The build worked prior to adding it, but now I have an unresolved external that may or may not be relevant to my application but which is getting in the way of completing the build in any case. I have tried to exclude various modules to avoid the problem, and I found through search that some have found this due to needing shell32.dll, so I added the "um" subdir from Windows Kits 10 to my environment variables as well as attempted to specify it using -L, all to no avail.

    (I know that some may advise transitioning to WebEngine on 5.7, but now is not an appropriate time to change - I believe it should be possible to fix my current build and hope that folks can address the issue for this configuration.)

    The RELEVANT COMPILER OUTPUT IS:
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /INCREMENTAL:NO /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture=''" /MANIFEST:embed /OUT:....\bin\QtWebProcess.exe @C:\Users\buckler\AppData\Local\Temp\nmCEB3.tmp
    qtmain.lib(qtmain_win.obj) : error LNK2019: unresolved external symbol __imp_CommandLineToArgvW referenced in function WinMain
    ....\bin\QtWebProcess.exe : fatal error LNK1120: 1 unresolved externals
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE"' : return code '0x460'
    Stop.

    THE (latest) CONFIG LINE I HAVE USED IS (I have tried many combinations other than this but this is what I have now):
    ..\Qt-5.5.1\configure -release -nomake tests -icu -platform win32-msvc2015 -openssl-linked OPENSSL_LIBS="-lssleay32 –llibeay32" -nomake examples

    IF IT IS RELEVANT, THE CONFIG I USED BEFORE ADDING OPENSSL THAT WORKED WAS:
    ..\Qt-5.5.1\configure -release -nomake tests -nomake examples -skip qtwebchannel -skip qt3D -skip qtsensors -skip qtserialport -skip qtwayland -skip qtandroidextras -icu -platform win32-msvc2015

    SOME COMMENTARY ON-LINE SUGGESTS IT MAY HAVE TO DO WITH USE OF 64-BIT, SO AS REFERENCE IT MAY BE USEFUL TO KNOW THAT I DO THIS BEFORE THE CONFIG:
    cd "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC"
    vcvarsall amd64

    Many thanks,
    Andy



  • I was able to fix this by a workaround. I commented out the body of the function using it since we do not use that in our application. It seems brute force but it did work and I am now up and running with SSL.

    Thanks all for considering,
    Andy


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.