Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[qt5] Cross-compilation for ARM64 fails #16922

Open
davidebeatrici opened this issue Mar 27, 2021 · 10 comments
Open

[qt5] Cross-compilation for ARM64 fails #16922

davidebeatrici opened this issue Mar 27, 2021 · 10 comments
Assignees
Labels
category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team. category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist

Comments

@davidebeatrici
Copy link
Contributor

Microsoft (R) Program Maintenance Utility Version 14.28.29913.0
Copyright (C) Microsoft Corporation.  All rights reserved.

This version of C:\vcpkg\buildtrees\qt5-base\arm64-windows-static-md-dbg\bin\qmake.exe is not compatible with the version of Windows you're running. Check your computer's system information and then contact the software publisher.

From https://code.qt.io/cgit/qt/qtbase.git/tree/cmake/README.md:

Compiling for a target architecture that's different than the host requires one build of Qt for the
host. This "host build" is needed because the process of building Qt involves the compilation of
intermediate code generator tools, that in turn are called to produce source code that needs to be
compiled into the final libraries. These tools are built using Qt itself and they need to run on the
machine you're building on, regardless of the architecure you are targeting.

Build Qt regularly for your host system and install it into a directory of your choice using the
CMAKE_INSTALL_PREFIX variable. You are free to disable the build of tests and examples by
passing -DBUILD_EXAMPLES=OFF and -DBUILD_TESTING=OFF.

With this installation of Qt in place, which contains all tools needed, we can proceed to create a
new build of Qt that is cross-compiled to the target architecture of choice. You may proceed by
setting up your environment. The CMake wiki has further information how to do that at

https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/CrossCompiling

Yocto based device SDKs come with an environment setup script that needs to be sourced in your shell
and takes care of setting up environment variables and a cmake alias with a toolchain file, so that
you can call cmake as you always do.

In order to make sure that Qt picks up the code generator tools from the host build, you need to
pass an extra parameter to cmake:

-DQT_HOST_PATH=/path/to/your/host_build

The specified path needs to point to a directory that contains an installed host build of Qt.

@Neumann-A
Copy link
Contributor

qt5-base is not yet setup for cross builds since host triplets were just recently added. You can try setting VCPKG_QT_TARGET_MKSPEC and VCPKG_QT_HOST_TOOLS_ROOT. To appropiate values but don't expect it to be successful.

@JackBoosY JackBoosY added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Mar 29, 2021
@davidebeatrici
Copy link
Contributor Author

davidebeatrici commented Mar 29, 2021

-- Figuring out qt target mkspec. Target arch arm64
-- Figuring out arm64
-- Target mkspec set to: win32-arm64-msvc2017
-- Host mkspec not set. Qt's own buildsystem will try to figure out the host system
Trying source 2 (type inline) of library icu ...
+ cd /d C:\vcpkg\buildtrees\qt5-base\arm64-windows-static-md-dbg\config.tests\icu && C:\vcpkg\installed\x64-windows-static-md\tools\qt5\bin\qmake.exe "CONFIG -= qt debug_and_release app_bundle lib_bundle" "CONFIG += static warn_off console single_arch" "QMAKE_LIBDIR += C:/vcpkg/installed/x64-windows-static-md/lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/manual-link" "INCLUDEPATH += C:/vcpkg/installed/x64-windows-static-md/include C:/vcpkg/installed/arm64-windows-static-md/include" "QMAKE_LIBS_PRIVATE+=C:/vcpkg/installed/arm64-windows-static-md/debug/lib/bz2d.lib" "QMAKE_LIBS_PRIVATE+=C:/vcpkg/installed/arm64-windows-static-md/debug/lib/libpng16d.lib" "QMAKE_LIBS_PRIVATE+=C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icuind.lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icutud.lib  C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icuucd.lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icuiod.lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icudtd.lib Advapi32.lib" "QMAKE_LIBS_PRIVATE+=C:/vcpkg/installed/arm64-windows-static-md/debug/lib/zstd_staticd.lib" "QMAKE_USE += icu" "QMAKE_LIBS_ICU = C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icuind.lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icutud.lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icuucd.lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icuiod.lib C:/vcpkg/installed/arm64-windows-static-md/debug/lib/icudtd.lib Advapi32.lib" C:/vcpkg/buildtrees/qt5-base/arm64-windows-static-md-dbg/config.tests/icu
+ cd /d C:\vcpkg\buildtrees\qt5-base\arm64-windows-static-md-dbg\config.tests\icu && set MAKEFLAGS=& nmake clean && set MAKEFLAGS=& nmake
> Microsoft (R) Program Maintenance Utility Version 14.28.29913.0
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 	del main.obj
> Microsoft (R) Program Maintenance Utility Version 14.28.29913.0
> Copyright (C) Microsoft Corporation.  All rights reserved.
> 	cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -O2 -MD -W0 -EHsc -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DNDEBUG -I. -IC:\vcpkg\installed\x64-windows-static-md\include -IC:\vcpkg\installed\arm64-windows-static-md\include -IC:\vcpkg\installed\x64-windows-static-md\tools\qt5\mkspecs\win32-msvc -Fo @C:\Users\User\AppData\Local\Temp\nm6473.tmp
> main.cpp
> 	link /NOLOGO /DYNAMICBASE /NXCOMPAT /OPT:REF /INCREMENTAL:NO /SUBSYSTEM:CONSOLE "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:icu.exe @C:\Users\User\AppData\Local\Temp\nm658D.tmp
> icuind.lib(ucol_res.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(ucol_res.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(ucol.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(ucol.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(coll.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(coll.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationdatareader.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationdatareader.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationroot.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationroot.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationtailoring.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationtailoring.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(ucln_in.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(ucln_in.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(rulebasedcollator.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(rulebasedcollator.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationdatawriter.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationdatawriter.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationdata.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationdata.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationfastlatin.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationfastlatin.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationsettings.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationsettings.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(coleitr.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(coleitr.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(sortkey.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(sortkey.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(bocsu.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(bocsu.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationcompare.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationcompare.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationiterator.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationiterator.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationkeys.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationkeys.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(collationsets.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(collationsets.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(uitercollationiterator.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(uitercollationiterator.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(utf16collationiterator.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(utf16collationiterator.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuind.lib(utf8collationiterator.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuind.lib(utf8collationiterator.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uenum.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uenum.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ulist.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ulist.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uobject.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uobject.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ustrenum.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ustrenum.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(unistr.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(unistr.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uinvchar.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uinvchar.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(locid.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(locid.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uresbund.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uresbund.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(cmemory.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(cmemory.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(charstr.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(charstr.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(cstring.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(cstring.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(umutex.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(umutex.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(sharedobject.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(sharedobject.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uresdata.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uresdata.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(resource.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(resource.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ustring.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ustring.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(unifiedcache.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(unifiedcache.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uniset.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uniset.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uiter.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uiter.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(propname.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(propname.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(locdispnames.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(locdispnames.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uhash.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uhash.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(servnotf.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(servnotf.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(serv.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(serv.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(locutil.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(locutil.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(servlkf.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(servlkf.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(servrbf.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(servrbf.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(servls.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(servls.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uset.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uset.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(utrie2.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(utrie2.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(udata.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(udata.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(udatamem.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(udatamem.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(normalizer2.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(normalizer2.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucln_cmn.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucln_cmn.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uloc.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uloc.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(bytestream.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(bytestream.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(usetiter.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(usetiter.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(normalizer2impl.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(normalizer2impl.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uvectr64.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uvectr64.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uvectr32.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uvectr32.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucharstrie.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucharstrie.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucharstrieiterator.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucharstrieiterator.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ustrtrns.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ustrtrns.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(putil.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(putil.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(udataswp.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(udataswp.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(stringpiece.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(stringpiece.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(unistr_cnv.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(unistr_cnv.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(bytesinkutil.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(bytesinkutil.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uloc_tag.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uloc_tag.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(loclikely.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(loclikely.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uarrsort.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uarrsort.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucol_swp.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucol_swp.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(patternprops.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(patternprops.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(util.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(util.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uvector.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uvector.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(bmpset.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(bmpset.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(unisetspan.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(unisetspan.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(bytestrie.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(bytestrie.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(locresdata.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(locresdata.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uhash_us.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uhash_us.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(resbund.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(resbund.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(servlk.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(servlk.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(servslkf.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(servslkf.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(umapfile.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(umapfile.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucmndata.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucmndata.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(edits.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(edits.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucptrie.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucptrie.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(utrace.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(utrace.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uloc_keytype.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uloc_keytype.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(locmap.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(locmap.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(umutablecptrie.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(umutablecptrie.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(utrie_swap.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(utrie_swap.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(wintz.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(wintz.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_bld.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_bld.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ustr_cnv.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ustr_cnv.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(uscript_props.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(uscript_props.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ustrfmt.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ustrfmt.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_err.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_err.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_io.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_io.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnvmbcs.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnvmbcs.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnvlat1.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnvlat1.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_u8.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_u8.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_u16.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_u16.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_u32.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_u32.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv2022.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv2022.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_lmb.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_lmb.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnvhz.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnvhz.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnvisci.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnvisci.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnvscsu.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnvscsu.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_u7.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_u7.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnvbocu.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnvbocu.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_ct.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_ct.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_cb.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_cb.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_cnv.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_cnv.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
> icuucd.lib(ucnv_ext.ao) : error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '2' doesn't match value '0' in main.obj
> icuucd.lib(ucnv_ext.ao) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MDd_DynamicDebug' doesn't match value 'MD_DynamicRelease' in main.obj
>    Creating library icu.lib and object icu.exp
> LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
> icuucd.lib(ucnvmbcs.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(utrie_swap.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(ucnv_bld.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(ustr_cnv.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(ucnv_io.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(resbund.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(servlk.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(servslkf.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(uloc_keytype.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(uloc.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(normalizer2impl.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(putil.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(ucol_swp.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(utrie2.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(udata.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(normalizer2.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(ucln_cmn.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(locutil.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(servlkf.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(servrbf.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(servls.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(unifiedcache.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(propname.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(servnotf.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(serv.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(locid.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(uresbund.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(umutex.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(sharedobject.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(uitercollationiterator.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(utf16collationiterator.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(utf8collationiterator.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(unistr.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationcompare.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationiterator.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationkeys.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationsets.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationdata.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationfastlatin.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationsettings.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(coleitr.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationtailoring.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(ucln_in.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(rulebasedcollator.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationdatawriter.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(ucol_res.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(coll.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationdatareader.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuind.lib(collationroot.ao) : error LNK2001: unresolved external symbol __imp__invalid_parameter
> icuucd.lib(ucnvmbcs.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(utrie_swap.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(ucnv_bld.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(ustr_cnv.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(ucnv_io.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(resbund.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(servlk.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(servslkf.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(uloc_keytype.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(uloc.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(normalizer2impl.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(putil.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(ucol_swp.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(utrie2.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(udata.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(normalizer2.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(ucln_cmn.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(locutil.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(servlkf.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(servrbf.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(servls.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(unifiedcache.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(propname.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(servnotf.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(serv.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(locid.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(uresbund.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(umutex.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(sharedobject.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(uitercollationiterator.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(utf16collationiterator.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(utf8collationiterator.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuucd.lib(unistr.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationcompare.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationiterator.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationkeys.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationsets.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationdata.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationfastlatin.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationsettings.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(coleitr.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationtailoring.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(ucln_in.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(rulebasedcollator.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationdatawriter.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(ucol_res.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(coll.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationdatareader.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> icuind.lib(collationroot.ao) : error LNK2001: unresolved external symbol __imp__CrtDbgReport
> C:\vcpkg\installed\x64-windows-static-md\lib\icuin.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'ARM64'
> C:\vcpkg\installed\x64-windows-static-md\lib\icuuc.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'ARM64'
> C:\vcpkg\installed\x64-windows-static-md\lib\icudt.lib : warning LNK4272: library machine type 'x64' conflicts with target machine type 'ARM64'
> icu.exe : fatal error LNK1120: 2 unresolved externals
ERROR: Feature 'icu' was enabled, but the pre-condition 'libs.icu' failed.

@JackBoosY JackBoosY added the category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team. label Mar 30, 2021
@kafeg
Copy link
Contributor

kafeg commented Jan 20, 2022

Confirm VCPKG_QT_TARGET_MKSPEC and VCPKG_QT_HOST_TOOLS_ROOT doesn't help. I have correct toolchain+rootfs (built with https://github.com/kafeg/dockerpi-toolchain) for RasPi1 / RasPi3 and can build other vcpkg ports but when i trying to build qt5-base it alwayes tries to build for x86_64 and ignores mkspec like linux-aarch64-g++ or similar. Just always configures qt for linux-g++`.

@kafeg
Copy link
Contributor

kafeg commented Jan 22, 2022

Finaly i found dirty solution and can cross-compile qt5-base without opengl, fontconfig, harfbuzz, icu. My current solution is enought for me to build cli-utility, but maybe it can be helpful to somebody as start point.

So what i did:

  1. Built cross-toolchain: https://github.com/kafeg/dockerpi-toolchain
  2. Patched vcpkg with this changes: https://github.com/anyshell/vcpkg/commits/anyshell (all mine commits at the top, most important in configure_qt.cmake, portfile.cmake and vcpkg.json)
  3. Called vcpkg install qt5-base:arm-linux

And it works for me. I got armv6/armv7a/arm64 vcpkg libraries set!

@Neumann-A hope it could help in the future investigating.

UPD: Also added there another hack to cross compile for Mac M1 (based on https://github.com/qbittorrent/qBittorrent/wiki/Compilation:-macOS-(x86_64,-arm64,-cross-compilation))

UPD2: Now that branch contains patches to cross-compile qt5-base on: (host -> target)
x64-linux -> armv6-linux, armv7a-linux, arm64-linux
x64-osx -> arm64-osx (without fontconfig for now, because of #22498)
x64-windows -> arm64-windows

UPD3: I spent a lot of time to try to understand and fix vcpkg_configure_meson.cmake to find a reason why the linkers flags does not contain what I needed from the chainload file. But in the end the best solution to fix build for fontconfig, harfbuzz and othe meson based port is just to create symlink to the lib dir which required by the meson. For e.g.: mkdir -p /opt/raspi-rootfs/arm-linux-gnueabihf; cd /opt/raspi-rootfs/arm-linux-gnueabihf; ln -s /opt/raspi-rootfs/usr/lib/arm-linux-gnueabihf lib. After that meson can find dependencies to link with no need to adjust vcpkg scripts.

@daljit97
Copy link
Contributor

This is also on my wishlist, adding cross-compilation for ARM64 for Qt 5.15 would be really nice and another small step towards a more mature windows arm64 ecosystem.

@kambala-decapitator
Copy link
Contributor

kambala-decapitator commented Aug 19, 2022

Qt 5 doesn't require host Qt installation to exist, only Qt 6 does. But currently vcpkg builds both host and target variants which doesn't seem right.

Here's an example how to cross-compile Qt5-base (checked on 5.15.5) x86_64 -> arm64 on a Mac that doesn't require editing any mkspecs:

/PATH/TO/QT_BASE/configure -device-option QMAKE_APPLE_DEVICE_ARCHS=arm64 <other options>

maybe the same would work on Windows.

Qt tools like qmake and moc are built for host and libs are built for target:

> lipo -info lib/libQt5Core.a
Non-fat file: lib/libQt5Core.a is architecture: arm64

> file bin/moc
bin/moc: Mach-O 64-bit executable x86_64

@dg0yt
Copy link
Contributor

dg0yt commented Aug 19, 2022

Qt 5 doesn't require host Qt installation to exist, only Qt 6 does.

Qt5 in vcpkg simply doesn't work like upstream.

@Cheney-W Cheney-W assigned Adela0814 and unassigned JackBoosY Dec 6, 2022
@JonLiu1993 JonLiu1993 closed this as not planned Won't fix, can't repro, duplicate, stale Mar 30, 2023
@JonLiu1993 JonLiu1993 reopened this Mar 30, 2023
@fwcd fwcd mentioned this issue Sep 27, 2023
54 tasks
@minnyres
Copy link

Is there any progress with this? I found that the configure.bat script in upstream already supports build Qt5 for ARM64:

https://gist.github.com/tycho/3ce679850a03a39d8c174ac05af56214?permalink_comment_id=5068421#gistcomment-5068421

@jimwang118
Copy link
Contributor

@Neumann-A Could you have any suggestions for cross-compilation of qt5-base under arm64?

@Neumann-A
Copy link
Contributor

Could you have any suggestions for cross-compilation of qt5-base under arm64?

Requires setting it up from the portfile for windows?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:community-triplet A PR or issue related to community triplets not officially validated by the vcpkg team. category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist
Projects
None yet
Development

No branches or pull requests