I just saw you edited your post and got it. But I will answer anyhow (I had already written this but the CP servers where unavailable for some minutes): I suggest to read about definitions and declarations in C/C++ because these are often mixed up. See the first answer of this Stackoverflow thread: http://stackoverflow.com/questions/1410563/what-is-the-difference-between-a-definition-and-a-declaration[^] You have declarations for the functions in your header files. So the sources will compile. But you don't have definitions for the functions in any of your source files. So the linkage will fail. You must add the source files containing the definitions. For the readsig function this must be a source file containing:
int readsig ( MiscParams *misc , char *namelist , int *nsigs ,
Signal ***signals , char *error )
{
/* function implementation*/
}