I am not sure how you compiled Castalia, but seems the main entry points got mixed up. The main entry point in fuzzylite is
main.cpp, which is why I asked you to delete that file with the goal of ensuring compilation would not grab it. However, the proper solution is not to delete it, but to make sure the file is not present in the build process.
I do not know how you are compiling fuzzylite or castalia, maybe you would want to go step by step over the building process of fuzzylite (See https://github.com/fuzzylite/fuzzylite#compile-link-and-execute for the details), and then Castalia again.
I would suggest you practice and learn linking fuzzylite with the example application available at: https://github.com/fuzzylite/fuzzylite/tree/release/examples/application
Then, apply a similar process to link to Castalia.