Updated by Vladislav Vinogradov over 11 years ago
I am not sure if it is a bug in the RubyInstaller DevKit, GCC, or OpenCv.
I have installed DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
it supplies the following compiler,
<pre>
D:\usr\opencv\release>gcc --version
gcc (rubenvb-4.7.2-release) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</pre>
I have an up to date source of OpenCV as of 5/09/2013 9:40:51.
After running cmake and make, the process gets as far as compiling glob.cpp in core.
the first working lines in glob.cpp are
<pre>
#include "precomp.hpp"
#if defined WIN32 || defined _WIN32 || defined WINCE
# include <windows.h>
</pre>
precomp.hpp includes emmintrin.h via cvdef.h with the following code,
<pre>
#if defined __SSE2__ || defined _M_X64 || (defined _M_IX86_FP && _M_IX86_FP >= 2)
# include <emmintrin.h>
</pre>
However windows.h includes intrin.h via winnt.h
These two files include the same function definitions, however one does it with C linkage and the other does it with C++ linkage.
To get glob.cpp compiled I commented out emmintrin.h. It did compile, but I can not help feeling that I cheated.
I have installed DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
it supplies the following compiler,
<pre>
D:\usr\opencv\release>gcc --version
gcc (rubenvb-4.7.2-release) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
</pre>
I have an up to date source of OpenCV as of 5/09/2013 9:40:51.
After running cmake and make, the process gets as far as compiling glob.cpp in core.
the first working lines in glob.cpp are
<pre>
#include "precomp.hpp"
#if defined WIN32 || defined _WIN32 || defined WINCE
# include <windows.h>
</pre>
precomp.hpp includes emmintrin.h via cvdef.h with the following code,
<pre>
#if defined __SSE2__ || defined _M_X64 || (defined _M_IX86_FP && _M_IX86_FP >= 2)
# include <emmintrin.h>
</pre>
However windows.h includes intrin.h via winnt.h
These two files include the same function definitions, however one does it with C linkage and the other does it with C++ linkage.
To get glob.cpp compiled I commented out emmintrin.h. It did compile, but I can not help feeling that I cheated.