/usr/bin/ld: /tmp/cctTnnyW.o: in function `main':
interface.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccLYZwut.o:communication.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/cctTnnyW.o: in function `_do_encode(int, int)':
interface.cpp:(.text+0x1d9): undefined reference to `encode(int, int)'
/usr/bin/ld: /tmp/cctTnnyW.o: in function `_do_decode(int)':
interface.cpp:(.text+0x219): undefined reference to `decode(int)'
/usr/bin/ld: /tmp/cctTnnyW.o: in function `main':
interface.cpp:(.text.startup+0xc2): undefined reference to `decode(int)'
/usr/bin/ld: interface.cpp:(.text.startup+0x16e): undefined reference to `encode(int, int)'
collect2: error: ld returned 1 exit status