Interview Questions

I am including the right header file for the library function I am using, but the linker keeps saying its undefined.

C Interview Questions and Answers


(Continued from previous question...)

I am including the right header file for the library function I am using, but the linker keeps saying its undefined.

In the general case of calling code in an external library, using #include to pull in the right header file(s) is only half of the story; you also have to tell the linker to search the external library itself. The declarations in the header file only tell the compiler how to call the external functions; the header file doesn't supply the definitions of the external functions, or tell the compiler/linker where to find those definitions.
In some cases (especially if the functions are nonstandard) obtaining those definitions may require explicitly asking for the correct libraries to be searched when you link the program. (Some systems may be able to arrange that whenever you #include a header, its associated library, if nonstandard, is automatically requested at link time, but such a facility is not widespread.)

(Continued on next question...)

Other Interview Questions