I am trying to include externally defined functions in my main function but when I try to compile using:
Code:
cc assemble.c pass1.o pass2.o getsource.o -o assemble
I get the following errors:
Code:
assemble.c: In function `main':
assemble.c:57: warning: passing arg 1 of `getsource' from incompatible pointer type
pass1.o(.text+0x178): In function `pass1':
/home/37/n00449937/cop3601/pass1.c:63: undefined reference to `breakup'
pass1.o(.text+0x24f):/home/37/n00449937/cop3601/pass1.c:78: undefined reference to `insert'
pass1.o(.text+0x2ec):/home/37/n00449937/cop3601/pass1.c:84: undefined reference to `breakup'
pass1.o(.text+0x370):/home/37/n00449937/cop3601/pass1.c:93: undefined reference to `findfirst'
pass1.o(.text+0x3e6):/home/37/n00449937/cop3601/pass1.c:102: undefined reference to `insert'
pass1.o(.text+0x41b):/home/37/n00449937/cop3601/pass1.c:111: undefined reference to `findfirst'
pass1.o(.text+0x4e6):/home/37/n00449937/cop3601/pass1.c:129: undefined reference to `storageincr'
pass1.o(.text+0x539):/home/37/n00449937/cop3601/pass1.c:141: undefined reference to `storageincr'
pass1.o(.text+0x58d):/home/37/n00449937/cop3601/pass1.c:153: undefined reference to `opcodeincr'
pass1.o(.text+0x655):/home/37/n00449937/cop3601/pass1.c:171: undefined reference to `breakup'
pass1.o(.text+0x68f):/home/37/n00449937/cop3601/pass1.c:176: undefined reference to `findfirst'
pass1.o(.text+0x705):/home/37/n00449937/cop3601/pass1.c:185: undefined reference to `insert'
pass1.o(.text+0x74f):/home/37/n00449937/cop3601/pass1.c:196: undefined reference to `findfirst'
pass2.o(.text+0x178): In function `pass2':
/home/37/n00449937/cop3601/pass2.c:68: undefined reference to `breakup'
pass2.o(.text+0x24c):/home/37/n00449937/cop3601/pass2.c:82: undefined reference to `breakup'
pass2.o(.text+0x2b7):/home/37/n00449937/cop3601/pass2.c:92: undefined reference to `findfirst'
pass2.o(.text+0x37f):/home/37/n00449937/cop3601/pass2.c:110: undefined reference to `storageincr'
pass2.o(.text+0x3b1):/home/37/n00449937/cop3601/pass2.c:123: undefined reference to `storageincr'
pass2.o(.text+0x3d7):/home/37/n00449937/cop3601/pass2.c:133: undefined reference to `opcodeincr'
pass2.o(.text+0x4b5):/home/37/n00449937/cop3601/pass2.c:171: undefined reference to `breakup'
getsource.o(.text+0xb1): In function `getsource':
/home/37/n00449937/cop3601/getsource.c:24: undefined reference to `hprintf'
collect2: ld returned 1 exit status
Here is the code in my assemble.c program that is trying to include the externally defined functions:
Code:
/* Pre-Processor Directives */
#include "cop3601.h"
#define SYMBSIZE 10
#define SYMBLIMIT 200
#define SOURCELIMIT 500
typedef struct
{
char symbol[SYMBSIZE];
int value;
int casenmbr;
int otherinfo;
} tabletype;
typedef struct
{
char *lbl;
char *opc;
char *opr1;
char *opr2;
int *ni;
int *xbpe;
} comptype;
extern int getsource();
extern int pass1();
extern int pass2();
char sourcelist[SOURCELIMIT][81];
int sourcecnt;
int errors[SOURCELIMIT];
tabletype symbtab[SYMBLIMIT];
int symbtabsize;
tabletype codetable[]=
{
#include "codetable"
};
int codetabsize = sizeof(codetable)/sizeof(tabletype);
char objline[81];
/* Prototypes */
int getsource(char *filename[]);
int pass1(void);
int pass2(void);
int main(int argc, char *argv[])
{ }