Non-standard 32-bit integer type causes conflict in Windows 64 bit (Bug #1474)
Description
The typedef for uint32_t in dist.h (shown below) is not standard as far as I know, since "long" & "unsigned long" are reserved for 32-bit integers, while "int" & "unsigned" can be 16 or 32-bit. I use another library which defines standard integer types for different platforms and compilers, and it does not work with OpenCV due to this non-standard definition, causing conflict.
This is simply solved by changing in dist.h:
typedef unsigned uint32_t;
TO
typedef unsigned long uint32_t;
#ifdef _MSC_VER
typedef unsigned uint32_t;
typedef unsigned +int64 uint64_t;
#else
#include <stdint.h>
#endif
Associated revisions
Merge pull request #1474 from f-morozov:for_pr
History
Updated by Marius Muja over 13 years ago
Fixed in r7006.
- Status changed from Open to Done
- (deleted custom field) set to fixed