OpenCV with the Intel(tm) Compiler on Linux (Patch #1637)
Description
The OpenCV SVN (r7411) library header files do not compile with the Intel(tm) Compiler on Linux. OpenCV practices reference count (smart pointers) for the images it processes. As the smart pointers have to be thread safe some atomic increment is inevitable. Most of todays processors have explicit instructions for atomic increments. As these instructions are not (yet) part of the C++ standard every compiler/platform practices them differently. In gcc there is the __sync_fetch_and_add, on windows there is the InterlockedExchangeAdd kernel call and in the Intel(tm) compiler on Linux there is the _InterlockedExchangeAdd (note the underscore). As the Intel(tm) compiler is not supported/tested by OpenCV the appropriate call is not accomodated. After a patch the proper assembler instructions can be called. The functionality remains to be tested. The patch is attached to this issue.
I would like to ask for Your kind consideration for the below patch, which fixes the issues with the reference counting in the Intel(tm) Compiler.
Associated revisions
applied patch from #1637 for fixing problems with Intel(tm) compiler
Merge pull request #1637 from SpecLad:run-py-java-fix
History
Updated by Alexander Shishkov about 13 years ago
Thank you for the patch!
- Status changed from Open to Done
Updated by Andrey Kamaev almost 13 years ago
- Target version set to 2.4.0