What, in addition to niimaq.h, is defining uInt32 and the other data types? Are you using Measurement Studio C++ class libraries in this project?
If so, then you can fix this issue by removing "using namespace NI;" from the NiIncludes.h that Measurement Studio added to your project. You can then add "using namespace NI;" statements only in source files that use the Measurement Studio C++ class libraries and not the IMAQ C API. Alternatively, or if you need to use both APIs in the same source file, you can fully qualify the Measurement Studio C++ types (e.g. use NI::CNiReal64Vector instead of CNiReal64Vector).
The issue is that niimaq.h and CNiCommonComponent.h both define "uInt32". CNiCommonComponent.h actually defines "NI::uInt32", but the "using names
pace NI" statement causes the compiler to try to resolve usage of the symbol "uInt32" as both "::uInt32" and "NI::uInt32". Because both of these symbols exist, there is an ambiguity.
If you are not using Measurement Studio C++ components in your application, you will need to post back and let us know what other header file is defining uInt32 and the other ambiguous types.
David Rohacek
National Instruments