به نام خدا
سلام.
فلاگ -I برای معرفی مکان include ها کاربرد داره که به صورت زیر میشه ازش استفاده کرد
gcc test.c -o test -I/usr/include
و فلگ -L هم برای معرفی مکان Library ها کاربرد داره. لایبراری ها در واقع همون فایل های .a یا .so توی لینوکس و .lib و .dll توی ویندوز هستن که کد های از پیش کامپایل شده ان. میتونید چیز های بیشتر در مورد لایبراری ها رو توی این صفحه بخونید.
اگه اسم لایبراری که میخواهید اضافه کنید به پروژه libXX.a یا libXX.so باشه باید به صورت زیر لود کنید.
gcc test.c -o test -L$HOME/.usr/lib -lXX
در واقع با -L مکانش رو مشخص میکنید و با -l اسم لایبراری رو. توجه کنید تمام لایبراری ها اسمشون با lib شروع میشه برای همین دیگه توی معرفی اش اسم lib رو نمیارن. البته این اختیاری نیست و شما مجبورید که کلمه lib رو خط بزنید.