Building Qt 4.8.5 with VS2012



  • Hi, I'm trying to build new Qt 4.8.5 from sources using VS2012 and got following strange errors:

    tools\qsimd.cpp(205) : error C2400: inline assembler syntax error in 'opcode'; found 'XOR'
    tools\qsimd.cpp(211) : error C2400: inline assembler syntax error in 'opcode'; found 'XOR'
    tools\qsimd.cpp(233) : error C2400: inline assembler syntax error in 'opcode'; found 'XOR'
    tools\qsimd.cpp(239) : error C2400: inline assembler syntax error in 'opcode'; found 'XOR'

    I searched the web but didn't find any reasonable solution for this. Looks like VS doesn't like xor for some reason. Can someone help me? I was trying to build using nmake and then IDE - same errors.



  • Looks like we have #define xor ^ in VS2012/VC/include/iso646.h. It's strange that compiler message was not like "found '^'", but "found 'XOR'"


  • Moderators

    welcome to devnet

    Thanks for sharing the issue seen.
    You should file "a bug report on JIRA":https://bugreports.qt-project.org/secure/Dashboard.jspa to make sure that someone is paying attention. This forum here is not scanned for bug reports.



  • yesterday I compiled 4.8.5 with MSVS2012 Update 3 from x86 Native Tools Command Prompt without any issues.

    in VS2012/VC/include/ I have only iso646.h, but it defines XOR the same way though.



  • I get this error also when building with VC 2010. Changing "xor" in the inline assembly in qsimd.cpp to "XOR" fixes the error (the assembler isn't case-sensitive).

    Maybe it depends on the order of include directories in your INCLUDE environment variable, or some other state that is not part of the build.



  • Same issue here!

    I've added line '#undef xor' just before _asm statement to fix the issue.

    It looks like some define makes problems here. And it happens not with each and every set of options of configure.exe...


Log in to reply
 

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