Qt 4.8, Visual Studio 2013 compiling error

后端 未结 6 1393
忘了有多久
忘了有多久 2021-02-06 02:43

Am folowing this tutorial to compile Qt 4.8 with visual Studio 2013 but after running nmake i get:

C:\\Qt\\4.8.5.src\\src\\3rdparty\\javascriptcore\\JavaScriptCo         


        
6条回答
  •  挽巷
    挽巷 (楼主)
    2021-02-06 03:34

    The two patches proposed above were not enough. In my case, after applying them to Qt 4.8.5 I got another error:

    HashSet.h(180) : error C2664: 'std::pair,WTF::PtrHash,WTF::HashTraits,WTF::HashTraits>,void *>,bool>::pair(const std::pair,WTF::P
    trHash,WTF::HashTraits,WTF::HashTraits>,void *>,bool> &)' : cannot convert argument 1 from 'std::pair,bool>' to 'const std::pair,WTF::PtrHash,WTF::HashTraits,WTF::HashTraits>,void *>,bool> &'                                                                                               
            with                                                                                                                                                                                      
            [                                                                                                                                                                                         
                Key=void *                                                                                                                                                                            
    ,            Value=void *                                                                                                                                                                         
    ,            Extractor=WTF::IdentityExtractor                                                                                                                                             
    ,            HashFunctions=WTF::PtrHash                                                                                                                                      
    ,            Traits=WTF::HashTraits                                                                                                                                          
    ,            KeyTraits=WTF::HashTraits                                                                                                                                       
            ]                                                                                                                                                                                         
            Reason: cannot convert from 'std::pair,bool>' to 'const std::pair,WTF::PtrHash,WTF::HashTraits,WTF::HashTraits>,void *>,bool>'                     
            with                                                                                                                                                                                      
            [                                                                                                                                                                                         
                Key=void *                                                                                                                                                                            
    ,            Value=void *                                                                                                                                                                         
    ,            Extractor=WTF::IdentityExtractor                                                                                                                                             
    ,            HashFunctions=WTF::PtrHash                                                                                                                                      
    ,            Traits=WTF::HashTraits                                                                                                                                          
    ,            KeyTraits=WTF::HashTraits                                                                                                                                       
            ]                                                                                                                                                                                         
            No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called                                                                          
            .\wtf/HashSet.h(179) : while compiling class template member function 'std::pair,WTF::PtrHa
    sh,WTF::HashTraits,WTF::HashTraits>,void *>,bool> WTF::HashSet,WTF::HashTraits>::add(void *const &)'                                                                                                                                                                   
    

    Solution was to grab 3 files from Git Qt4 repository:

    /src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h https://qt.gitorious.org/qt/mi-clone/raw/b45cc6bba9f85497eedf10cb5969d24273cb11db:src/3rdparty/webkit/Source/JavaScriptCore/wtf/HashSet.h

    /src/3rdparty/webkit/Source/JavaScriptCore/wtf/MathExtras.h https://qt.gitorious.org/qt/mi-clone/raw/b45cc6bba9f85497eedf10cb5969d24273cb11db:src/3rdparty/webkit/Source/JavaScriptCore/wtf/MathExtras.h

    /src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h https://qt.gitorious.org/qt/mi-clone/raw/b45cc6bba9f85497eedf10cb5969d24273cb11db:src/3rdparty/javascriptcore/JavaScriptCore/wtf/MathExtras.h

提交回复
热议问题