Failed to build 32-bit Qt with Visual Studio 2012 - bad YarrJIT.cpp compilation



  • I am trying to build 32 bit Qt libraries on a Windows 7 computer using Visual Studio 2012.
    Therefore I configured as follows:

    C:\Qt\4.8.4> configure -platform win32-msvc2012

    After nmake compiled happily for about half an hour, it failed with the output shown below. Any suggestions?

    YarrJIT.cpp
    .\wtf/HashSet.h(180) : error C2664: 'std::pair<_Ty1,_Ty2>::pair(const std::pair<
    _Ty1,_Ty2> &)' : cannot convert parameter 1 from 'std::pair<_Ty1,_Ty2>' to 'cons
    t std::pair<_Ty1,_Ty2> &'
    with
    [
    _Ty1=WTF::HashTableConstIteratorAdapter<WTF::HashTable<void *,void *
    ,WTF::IdentityExtractor<void *>,WTF::PtrHash<void *>,WTF::HashTraits<void *>,WTF
    ::HashTraits<void *>>,void *>,
    _Ty2=bool
    ]
    and
    [
    _Ty1=WTF::HashTableIterator<void *,void *,WTF::IdentityExtractor<voi
    d *>,WTF::PtrHash<void *>,WTF::HashTraits<void *>,WTF::HashTraits<void *>>,
    _Ty2=bool
    ]
    and
    [
    _Ty1=WTF::HashTableConstIteratorAdapter<WTF::HashTable<void *,void *
    ,WTF::IdentityExtractor<void *>,WTF::PtrHash<void *>,WTF::HashTraits<void *>,WTF
    ::HashTraits<void *>>,void *>,
    _Ty2=bool
    ]
    Reason: cannot convert from 'std::pair<_Ty1,Ty2>' to 'const std::pair<
    Ty1,_Ty2>'
    with
    [
    _Ty1=WTF::HashTableIterator<void *,void *,WTF::IdentityExtractor<voi
    d *>,WTF::PtrHash<void *>,WTF::HashTraits<void *>,WTF::HashTraits<void *>>,
    _Ty2=bool
    ]
    and
    [
    _Ty1=WTF::HashTableConstIteratorAdapter<WTF::HashTable<void *,void *
    ,WTF::IdentityExtractor<void *>,WTF::PtrHash<void *>,WTF::HashTraits<void *>,WTF
    ::HashTraits<void *>>,void *>,
    _Ty2=bool
    ]
    No user-defined-conversion operator available that can perform this conv
    ersion, or the operator cannot be called
    .\wtf/HashSet.h(179) : while compiling class template member function 's
    td::pair<_Ty1,_Ty2> WTF::HashSet<ValueArg>::add(void *const &)'
    with
    [
    _Ty1=WTF::HashTableConstIteratorAdapter<WTF::HashTable<void *,void *
    ,WTF::IdentityExtractor<void *>,WTF::PtrHash<void *>,WTF::HashTraits<void *>,WTF
    ::HashTraits<void *>>,void *>,
    _Ty2=bool,
    ValueArg=void *
    ]
    c:\qt\4.8.4\src\3rdparty\webkit\source\javascriptcore\heap\MarkStack.h(7

    1. : see reference to function template instantiation 'std::pair<_Ty1,_Ty2> WTF:
      :HashSet<ValueArg>::add(void *const &)' being compiled
      with
      [
      _Ty1=WTF::HashTableConstIteratorAdapter<WTF::HashTable<void *,void *
      ,WTF::IdentityExtractor<void *>,WTF::PtrHash<void *>,WTF::HashTraits<void *>,WTF
      ::HashTraits<void *>>,void *>,
      _Ty2=bool,
      ValueArg=void *
      ]
      c:\qt\4.8.4\src\3rdparty\webkit\source\javascriptcore\heap\MarkStack.h(1
    2. : see reference to class template instantiation 'WTF::HashSet<ValueArg>' bei
      ng compiled
      with
      [
      ValueArg=void *
      ]
      Generating Code...
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.0
      \VC\BIN\cl.EXE"' : return code '0x2'
      Stop.
      NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 11.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.


  • Although Qt 4.8.4 fails to build (as described in the last post), Qt 5.0.2 succeeds using Visual Studio 2012.


Log in to reply
 

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