[vikky@server sandbox]$ ls dep1.cpp dep2.cpp prog.cpp [vikky@server sandbox]$ cat dep1.cpp #include void printer(){ printf("%s\n","Hello"); } [vikky@server sandbox]$ g++ -c -o dep1.so dep1.cpp [vikky@server sandbox]$ ls dep1.cpp dep1.so dep2.cpp prog.cpp [vikky@server sandbox]$ cat dep2.cpp void printer(); void master(){ printer(); } [vikky@server sandbox]$ g++ -c -o dep2.so dep2.cpp [vikky@server sandbox]$ ls dep1.cpp dep1.so dep2.cpp dep2.so prog.cpp [vikky@server sandbox]$ cat prog.cpp void master(); int main(void){ master(); return 0; } [vikky@server sandbox]$ g++ -o prog prog.cpp dep2.so dep1.so [vikky@server sandbox]$ ls dep1.cpp dep1.so dep2.cpp dep2.so prog prog.cpp [vikky@server sandbox]$ ./prog Hello