Updated by Alexander Shishkov almost 13 years ago
I am trying to build the 2.3.1 release in 32 bit with TBB and IPP (recent versions, downloaded 2 weeks ago) enabled on Visual Studio 2005.
I am getting errors about multiple definitions of 'L1' in flann/dist.h and flann.hpp (among other places), e.g.
<pre><code class="cpp"> <pre>
/*
* Manhattan distance functor, optimized version
*/
template<class T>
struct L1
</code></pre> </pre>
This seems to conflict with the 'L1' symbol used on line 139 of the windows_ia32.h included with TBB, in the function below:
<pre><code class="cpp"> <pre>
static inline void +TBB_machine_pause (+int32 delay ) {
_asm
{
mov eax, delay
L1:
pause
add eax, -1
jne L1
}
return;
}
</code></pre> </pre>
If I rename the L1 in this header, all projects build fine (ok a lot of warnings, but all errors are gone).
I tried renaming the L1 definition in flann instead, but this seems to break a lot of macros and other things.
I am getting errors about multiple definitions of 'L1' in flann/dist.h and flann.hpp (among other places), e.g.
<pre><code class="cpp"> <pre>
/*
* Manhattan distance functor, optimized version
*/
template<class T>
struct L1
</code></pre> </pre>
This seems to conflict with the 'L1' symbol used on line 139 of the windows_ia32.h included with TBB, in the function below:
<pre><code class="cpp"> <pre>
static inline void +TBB_machine_pause (+int32 delay ) {
_asm
{
mov eax, delay
L1:
pause
add eax, -1
jne L1
}
return;
}
</code></pre> </pre>
If I rename the L1 in this header, all projects build fine (ok a lot of warnings, but all errors are gone).
I tried renaming the L1 definition in flann instead, but this seems to break a lot of macros and other things.