Wave Simulator with C++
This is an example wave simulation engine written in C++. The engine comes with a native Linux application which uses gtkmm and cairomm. For more details on what this project is about, see its Code Project Article. The java version is available here.
Prerequisites
This is an Eclipse CDT project. The following development packages are specificially required.
- libgtkmm-3.0-dev
- libglibmm-2.4-dev
- libcairomm-1.0-dev
- libpangomm-1.4-dev
- libatkmm-1.6-dev
- libgdk-pixbuf2.0-dev
It is also required to install the core packages such as libgtk-3-dev. You need pkg-config installed for the compiler to resolve the include and library directories.
Building
In a terminal, enter either the Release or Debug directories depending on which version of the program you want to build. Let's build a Release version.
Enter the Release directory by entering the following command.
cd {path_to_project}/Release
Clean before building.
make clean
Build now.
make
After a successful build, there should be the executable with the name wavesim_cpp.
Running
There are 64-bit and 32-bit executables inside the binary_* directories which can be run directly. Move one of them to the upper directory where the data folder exists and run it or, if you have just built from the source, do the following.
After building, move the executable from either the Release or Debug directory to the upper directory where the data folder exists. The program simply needs the data on its working directory so you can also move the folder to the executable directory instead. Let's move the exectuable from Release to the upper directory.
Enter the Release directory.
cd {path_to_project}/Release
Move the executable to the upper directory.
mv ./wavesim_cpp ..
Enter the upper directory.
cd ..
Run the program.
./wavesim_cpp
Authors
Mustafa Sami Salt
Acknowledgments
INI file reader provided from https://github.com/benhoyt/inih.