Well, it could be that the naming convention of your C file and the library are different, or that you are compiling the code in such a way that it's not producing the same name as the library uses [for example, calling conventions will change the naming convention, as will compiling C++ instead of C or vice versa]. But it's really hard to figure that out from remote - you'd need to "look inside" the library file to know what it contains, and from that it MAY be possible to figure out what is wrong.
--
Mats