0

I need to build static QT 5.12.1 libs on Windows 10 using qt-everywhere-src-5.12.1.tar.xz as source

That's how I set up my build environment:

CALL "C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Auxiliary\Build\vcvarsall.bat" amd64
SET _ROOT=C:\Dev\Qt\Qt5.12.1
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
set path="%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.16.27023\bin\Hostx64\x64\cl.exe";%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT=

My QT build configuration looks like this:

configure -prefix C:\Dev\QT_Libs -static -static-runtime -opengl desktop -debug-and-release -mp -nomake examples -nomake tests -nomake tools -skip qtwebengine -opensource -platform win32-msvc -confirm-license

And after configuration is done, I run "jom" and got mulpiple unresolved externals

recognizer.obj : error LNK2001: unresolved external symbol "public: static struct QArrayData const * const QArrayData::shared_null" (?shared_null@QArrayData@@2QBU1@B)
compress.obj : error LNK2001: unresolved external symbol "public: static struct QArrayData const * const QArrayData::shared_null" (?shared_null@QArrayData@@2QBU1@B)
cppgenerator.obj : error LNK2001: unresolved external symbol "public: static struct QArrayData const * const QArrayData::shared_null" (?shared_null@QArrayData@@2QBU1@B)
lalr.obj : error LNK2001: unresolved external symbol "public: static struct QArrayData const * const QArrayData::shared_null" (?shared_null@QArrayData@@2QBU1@B)
main.obj : error LNK2001: unresolved external symbol "public: static struct QArrayData const * const QArrayData::shared_null" (?shared_null@QArrayData@@2QBU1@B)
cppgenerator.obj : error LNK2001: unresolved external symbol "public: static struct QMapDataBase const QMapDataBase::shared_null" (?shared_null@QMapDataBase@@2U1@B)
dotgraph.obj : error LNK2001: unresolved external symbol "public: static struct QMapDataBase const QMapDataBase::shared_null" (?shared_null@QMapDataBase@@2U1@B)
lalr.obj : error LNK2001: unresolved external symbol "public: static struct QMapDataBase const QMapDataBase::shared_null" (?shared_null@QMapDataBase@@2U1@B)
parsetable.obj : error LNK2001: unresolved external symbol "public: static struct QMapDataBase const QMapDataBase::shared_null" (?shared_null@QMapDataBase@@2U1@B)
lalr.obj : error LNK2001: unresolved external symbol "public: static struct QListData::Data const QListData::shared_null" (?shared_null@QListData@@2UData@1@B)
main.obj : error LNK2001: unresolved external symbol "public: static struct QListData::Data const QListData::shared_null" (?shared_null@QListData@@2UData@1@B)
lalr.obj : error LNK2001: unresolved external symbol "public: static struct QLinkedListData const QLinkedListData::shared_null" (?shared_null@QLinkedListData@@2U1@B)

How can I fix them?

Torello
  • 936
  • 11
  • 15

1 Answers1

0

We were able to successfully build QT on another pc, using following command for configuration:

REM Set up \Microsoft Visual Studio 2017, where <arch> is \c amd64, \c x86, etc.
CALL "c:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x86
SET _ROOT=d:\qt\source
SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH%
REM Uncomment the below line when using a git checkout of the source repository
REM SET PATH=%_ROOT%\qtrepotools\bin;%PATH%
SET _ROOT=

..\source\configure.bat -no-angle -debug-and-release -opengl desktop -platform win32-msvc -skip qttranslations -skip qttranslations -prefix "d:\qt\bin" -opensource -confirm-license -nomake tests -nomake examples -static -static-runtime
jom -j 12
jom install
Torello
  • 936
  • 11
  • 15