Hi,

I was trying to cross-compile Xerces-C++ 3.1 on Debian to 64 bit
Windows. However this triggered compilation error with cpuid macro.

error: macro "__cpuid" requires 5 arguments, but only 2 given

MSDN's prototype for __cpuid is "void __cpuid(int CPUInfo[4], int InfoType)",
which is also what I found from w64's intrin.h

Any idea where this error comes from?

My compiler is from Debian packages (gcc-mingw32 4.4.2-5) if it matters.

In file included from 
../../../src/xerces-c-3.1.0/src/xercesc/util/PlatformUtils.cpp:57:
/usr/lib/gcc/amd64-mingw32msvc/4.4.2/../../../../amd64-mingw32msvc/include/intrin.h:943:44:
 error: macro "__cpuid" requires 5 arguments, but only 2 given
../../../src/xerces-c-3.1.0/src/xercesc/util/PlatformUtils.cpp:229:23: error: 
macro "__cpuid" requires 5 arguments, but only 2 given
Compiling 
../../../src/xerces-c-3.1.0/src/xercesc/util/regx/BlockRangeFactory.cpp
In file included from 
../../../src/xerces-c-3.1.0/src/xercesc/util/PlatformUtils.cpp:57:
/usr/lib/gcc/amd64-mingw32msvc/4.4.2/../../../../amd64-mingw32msvc/include/intrin.h:943:
 error: variable or field '__cpuid' declared void
../../../src/xerces-c-3.1.0/src/xercesc/util/PlatformUtils.cpp: In static 
member function 'static void xercesc_3_1::XMLPlatformUtils::Initialize(const 
char*, const char*, xercesc_3_1::PanicHandler*, xercesc_3_1::MemoryManager*)':
../../../src/xerces-c-3.1.0/src/xercesc/util/PlatformUtils.cpp:229: error: 
'__cpuid' was not declared in this scope

-- 
Tommi Vainikainen

------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to