if your code is not very huge , I think changing the typedef in your code side is better for the compile:
typedef unsigned int uint32_t;
typedef unsigned short uint16_t;
typedef signed short int16_t;
typedef signed int int32_t;
and better to add a global define to control the modification.
I am marking this question as assumed answered as this is duplicate of my question.
I don't know why it is showing twice even though i unmarked as question.
By the way below is my reply :
That is what i have done now.
But because of this change i am getting some other compilation issues in ported lib.
there is a function declaration in third party stack as below
and function definition is in some other file as below
as per stdint.h int32_t is signed long
means function definition looks as below
signed long fn_name()
function declaration and function definition prototype is not matching leading to compilation error.
I am not supposed to change third party stack (so that i can upgrade blindly to latest available version)
I understand that this type of errors come as third party stack has not followed standard convention for datatypes.
and i am sure that this is not something new.
I didn't got any good answer after googling.
so posted question here with the hope of getting practically implementable solution.
Just a suggestion , I think:
We must comment the typedef from your .h file, and just keep the necessary part for your code.
then include current stdint.h again into your code . Because now you are using wiced environment , I think the basic define should use wiced defines also.