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'"
-
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...