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