Apparently in .c files visual studio auto generates declarations for unidentified symbols
This is not a correct conclusion.
It is not a Visual Studio problem. It is simply a warning from your compiler describing the assumptions it is making about a function in the absence of any real definition.
From HERE:
When you call a function with no prototype, some C compilers make assumptions about the function being called:
Function's return type is assumed to be int
All parameters are assumed to be declared (i.e. no ... vararg stuff)
All parameters are assumed to be whatever you pass after default promotions, and so on.
If the function being called with no prototype fits these assumptions, your program will run correctly; otherwise, it's undefined behavior.
And from HERE:
If one doesn’t specify the function prototype, the behavior is specific to C standard (either C90 or C99) that the compilers implement. Up to C90 standard, C compilers assumed the return type of the omitted function prototype as int. And this assumption at compiler side may lead to unspecified program behavior.
To solve the problem you are seeing, it is not necessary (nor will it solve the stated problem) to change anything in Visual Studios, rather include the header files appropriate to the functions you are using.