נראה ששכחת לקמפל את general
הבעיה היא בשלב ה-linkage. בקובץ main.c את קוראת לפונקציה FileHandle, אבל כאשר הוא מנסה ליצור את הקובץ להרצה, הוא לא מוצא את המימוש של הפונקציה, מפני שביקשת שהוא יקמפל רק את main.c. זה שכתבת #include general.h רק נתן לקומפיילר להבין שקיימת פונקציה כזו (אחרת הוא היה צועק שהוא לא מכיר את הפונקציה). את צריכה לעשות אחד משני דברים: 1. לקמפל את general.c ביחד עם main.c: gcc -Wall -lm general.c main.c או.. 2. לקמפל את general.c לקובץ object בעזרת: gcc -c -Wall general.c -o general.o ואז לקמפל את main.c לקובץ executable (קובץ שניתן להריץ), בעזרת: gcc -Wall -lm main.c general.o