Unresolved external symbol attempting to build 5.2



  • I followed the instructions for building on windows here (http://qt-project.org/wiki/Building_Qt_5_from_Git). During the nmake I get the following:

    @
    if exist C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.dll.embed.manifest copy /Y C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.dll.embed.manifest C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.dll_manifest.bak
    link /NOLOGO /DYNAMICBASE /NXCOMPAT /BASE:0x66000000 /DEBUG /DLL /VERSION:5.20 /MANIFEST /MANIFESTFILE:C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.dll.embed.manifest /OUT:C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.dll @C:\Users\AKREBS~1.WTC\AppData\Local\Temp\nm3D5C.tmp
    Creating library C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.lib and object C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.exp

    YarrInterpreter.obj : error LNK2019: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::newlineCreate(void)" (?newlineCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ) referenced in function "public: struct JSC::Yarr::CharacterClass * __thiscall JSC::Yarr::YarrPattern::newlineCharacterClass(voi
    d)" (?newlineCharacterClass@YarrPattern@Yarr@JSC@@QAEPAUCharacterClass@23@XZ)

    YarrJIT.obj : error LNK2001: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::newlineCreate(void)" (?newlineCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ)

    YarrPattern.obj : error LNK2001: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::newlineCreate(void)" (?newlineCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ)

    YarrInterpreter.obj : error LNK2019: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::wordcharCreate(void)" (?wordcharCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ) referenced in function "public: struct JSC::Yarr::CharacterClass * __thiscall JSC::Yarr::YarrPattern::wordcharCharacterClass(
    void)" (?wordcharCharacterClass@YarrPattern@Yarr@JSC@@QAEPAUCharacterClass@23@XZ)

    YarrJIT.obj : error LNK2001: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::wordcharCreate(void)" (?wordcharCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ)

    YarrPattern.obj : error LNK2001: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::wordcharCreate(void)" (?wordcharCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ)

    YarrPattern.obj : error LNK2019: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::digitsCreate(void)" (?digitsCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ) referenced in function "public: struct JSC::Yarr::CharacterClass * __thiscall JSC::Yarr::YarrPattern::digitsCharacterClass(void)" (?d
    igitsCharacterClass@YarrPattern@Yarr@JSC@@QAEPAUCharacterClass@23@XZ)

    YarrPattern.obj : error LNK2019: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::spacesCreate(void)" (?spacesCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ) referenced in function "public: struct JSC::Yarr::CharacterClass * __thiscall JSC::Yarr::YarrPattern::spacesCharacterClass(void)" (?spacesCharacterClass@YarrPattern@Yarr@JSC@@QAEPAUCharacterClass@23@XZ)

    YarrPattern.obj : error LNK2019: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::nondigitsCreate(void)" (?nondigitsCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ) referenced in function "public: struct JSC::Yarr::CharacterClass * __thiscall JSC::Yarr::YarrPattern::nondigitsCharacterClass(v
    oid)" (?nondigitsCharacterClass@YarrPattern@Yarr@JSC@@QAEPAUCharacterClass@23@XZ)

    YarrPattern.obj : error LNK2019: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::nonspacesCreate(void)" (?nonspacesCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ) referenced in function "public: struct JSC::Yarr::CharacterClass * __thiscall JSC::Yarr::YarrPattern::nonspacesCharacterClass(v
    oid)" (?nonspacesCharacterClass@YarrPattern@Yarr@JSC@@QAEPAUCharacterClass@23@XZ)

    YarrPattern.obj : error LNK2019: unresolved external symbol "struct JSC::Yarr::CharacterClass * __cdecl JSC::Yarr::nonwordcharCreate(void)" (?nonwordcharCreate@Yarr@JSC@@YAPAUCharacterClass@12@XZ) referenced in function "public: struct JSC::Yarr::CharacterClass * __thiscall JSC::Yarr::YarrPattern::nonwordcharCharacterClass(void)" (?nonwordcharCharacterClass@YarrPattern@Yarr@JSC@@QAEPAUCharacterClass@23@XZ)

    C:\Users\akrebsbach.WTC-VAN-NT\Desktop\Work\QtSupport\QTCode\qt5\qtbase\lib\Qt5Qmld.dll : fatal error LNK1120: 7 unresolved externals
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\link.EXE"' : return code '0x460'
    Stop.
    NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\nmake.exe"' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    @

    As the above shows the problem is linking:

    • YarrInterpreter.obj
    • YarrJIT.obj
    • YarrPattern.obj

    I used "-opengl desktop" as part of my configuration but I believe that is the only place I deviated from the instructions.

    I'm trying to build this on the VS2010 command line.

    Attempting to build each module individually this is an issue in:

    • qtdeclarative
    • qtdoc
    • qtgraphicaleffects
    • qtlocation
    • qtmultimedia
    • qtquick1
    • qtquickcontrols
    • qtsensors
    • qttools
    • qttranslations
    • qtwebkit
    • qtwebkit-examples
    • qtwinextras

    All the other modules build without error.



  • Conclusion:

    Eventually, I just gave up deleting everything and tried again. This time it worked fine. /sigh

    git clone https://code.qt.io/qt/qt5.git qt5
    
    cd qt5
    
    git checkout stable
    
    perl init-repository --no-webkit
    
    configure -developer-build -opensource -nomake examples -nomake tests -opengl desktop
    
    nmake
    

    Fin

    [edit: updated URL and coding tags SGaist]



  • got the same issue, here is my solution :

    • in "qt\qtdeclarative\src\qml", check the file "RegExpJitTables.h"
      if it's empty, delete it (it's autogenerated with python)

    • check that python is in you PATH and INCLUDE environment variable (if it was not the first time, that's why you file was generated empty, but won't be generated again if you do not delete it).

    nmake again



  • Thanks so much, I had the same problem (with mingw32) and this reply solved it.



  • [quote author="gboulard" date="1393840325"]got the same issue, here is my solution :

    • in "qt\qtdeclarative\src\qml", check the file "RegExpJitTables.h"
      if it's empty, delete it (it's autogenerated with python)

    • check that python is in you PATH and INCLUDE environment variable (if it was not the first time, that's why you file was generated empty, but won't be generated again if you do not delete it).

    nmake again[/quote]

    Thank you, this worked for me as well.



  • Thanks. Worked for me.



  • Seems to have worked for me to. +1 (if any).

    On a partial side rant, why a dependency on python? I understand it's nice to use other tools when building but if I'm putting together a base system I now have to install both ActivePerl and Python. Not to mention if I check out from source instead of using a zip file I need git as well. Why not simplify and either build a small tool inside of Qt (similar to qmake) where it could do your scripted steps or just limit down to 1 language?

    Thanks for the answer, you guys are a lifesaver!



  • Thank you Arthurk.



  • Thank you Arthurk.



  • Arthurk, could you please put the procedure in detail



  • Arthurk, could you please put the procedure in detail



  • thank you,

    but the location for that h file is this

    C:\qt-everywhere-opensource-src-5.5.1\qtdeclarative\src\qml.generated\debug



  • @billconan and @gboulard

    Thanks a bunch. I had the same issue where I had to install Python half way through nmake, but after re-running nmake it blew up way beyond in with this unrecognizable JSC::Yarr:: errors !!

    Deleting RegExpJitTables.h and re-running nmake got me past this.



  • Hi,
    This is the complete sequence to install QT on windows x64 bit with VS2015. Hope it will help

    Add license file to this location: %USERPROFILE%.qt-license
    Open Visual Studio VS2015 Developer Native Command Prompt
    Run command “D:\Qt\Qt5.5.0-VS2015\5.5\Src” to go to the qt folder
    set QMAKESPEC=win32-msvc2015
    set QTDIR=D:\Qt\Qt5.5.0-VS2015\5.5\Src
    set PYTHONDIR=D:\Pulse\agents\work\DAILY_CVXIX_2016_x64_vs110\ix\Tools\Windows\python\Python2.7.1
    set PATH=%QTDIR%\qtbase\bin;%PYTHONDIR%;%PATH%
    set INCLUDE=%PYTHONDIR%;%INCLUDE%
    cd %QTDIR%
    Run command “configure -debug-and-release -platform win32-msvc2015 –prefix <location to install to>
    Run command “nmake”
    Run command “nmake install”


Log in to reply
 

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