no.
But if you add libraries using
lib\libc.a lib\libm.a libgcc.a
that can be the problem,
The prefered way is
-lc -lm -lgcc
Sometimes a path must be specified with -L $(PATH TO LIBRARIES) -lname
The linker wil subsitute -lname with libname.a or libname.so
and it also knows that this is a library so only load the functions used from other parts of the code.
The exact behaviour of linkers is deep magic.
If you define your own verison of library files with the same names and calling parametrs , then they are uesd insted of the library versions. So the library must not be rebuilt.
But your versions must be built with the same, or at least compatible compiler, flags as the library since they will simoetimes be called by other functions in the library.
Simply : your vesrion replaces the library version and thy must work together.
How can we now it i works. Test, try, debug and send in different data.
Debugging and testing is when we really learn about both the underlying system, our code and the problem we try to solve.
regards,
Magnus