0 Replies Latest reply on Jan 27, 2016 4:25 AM by mpoleg

    uint8_t conflict between VS 2015 stdint.h and IB ib_al.h in C++ application

    mpoleg

      The problem arises when I compile both header files

      stdint.h (from Visual Studio 2015)

      iba/ib_al.h (from MLNX_VPI_WinOF-5_10_All_win2012R2_x64.exe)

       

      in one translation unit in a C++ application.

      Compiler reports error C2086: identifier is defined more than once.

       

      The reason is different types for typedefs:

      typedef signed char int8_t; (in stdint.h in VS 2015)

      typedef __int8 int8_t; (in Mellanox's SDK\inc\user\complib\cl_types_osd.h)

       

      I resolved this by modifying stdint.h in VS 2015.

      Obviously this is a workaround.

       

      Are there more straightforward solutions?

      Is it possible to modify Mellanox driver?