binary_1: main_1.cpp shared_code.cpp
gcc -o $@ $^
binary_2: main_2.cpp shared_code.cpp
gcc -o $@ $^
If for some reason you want to use a managed eclipse project (where the makefile is automatically generated) do the following:
- Create a managed project (File > New C++ Project > Executable)
- Add the source code containing multiple main() functions
- Go to Project > Properties > C/C++ Build > Manage Configurations...
- Make a build configuration for each executable and name it appropriately (you can clone existing configurations like Debug and Release).
- From the project explorer, right click on each source file that contains a main() function > Resource Configurations > Exclude from Build and exclude all build configurations except the one that builds the executable with this main() function
- All other code is included in all build configurations by default. You may need to change this depending on your application.
- You can now build an executable for each main function by going to Project > Build Configurations > Set Active , Project > Build Project
- Build all binaries (as explained above)
- Go to Run > Debug Configurations.
- Create a configuration for each binary
- For each configuration set the correct Build Configuration and C/C++ Application (this is the binary).
- Use Search Project... to locate the binaries easily