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.expYarrInterpreter.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
-
-
[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.
-
-
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!
-
@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 helpAdd 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” -
Hello,
I tried with the lastest version pulled from git and deleting the file generated the following error
C:\Users\Lionel\AppData\Local\Microsoft\WindowsApps\python.exe C:/Dev/github/qt5/qt5/qtdeclarative/src/3rdparty/masm/yarr/create_regex_tables > .generated\debug\RegExpJitTables.h 'C:\Users\Lionel\AppData\Local\Microsoft\WindowsApps\python.exe' is not recognized as an internal or external command, operable program or batch file. NMAKE : fatal error U1077: 'C:\Users\Lionel\AppData\Local\Microsoft\WindowsApps\python.exe' : return code '0x1' Stop. NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.33.31629\bin\HostX86\x86\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.
and python is properly installed
C:\Dev\github\qt5\qt5>python --version Python 2.7.18
The file is generated each time I call "nmake"
-
@LionelPeeters said in Unresolved external symbol attempting to build 5.2:
and python is properly installed
In which folder?
The first error clearly says that C:\Users\Lionel\AppData\Local\Microsoft\WindowsApps\python.exe is NOT recognised! -
@jsulm I'm having the same issue as @LionelPeeters. Can either of you comment on how to resolve this? I don't see why Jom would be looking for python in this WindowsApps path instead of the Python directory I added to my Path. There is no WindowsApps path in my Path environment variable. And I've already disabled the app execution aliases for python.