# Installating Omnetpp GUI and Native Quisp on Windows OS ## TL;DR * Before You Start * OMNeT++ Installation * Insall Needed Tools for the GUI * Cloning and Building Quisp * Running A Simulation ## Before You Start Before you begin installing OMNeT++ and Quisp, make sure you have a C++ compiler on computer. If you do, skip to step 1, if you don't, head to [this](https://www.tutorialspoint.com/How-do-I-set-up-C-Cplusplus-on-Eclipse-in-Windows) link and get your compiler set up and then come back and go to step 1! ## 1- OMNeT++ Installation OMNeT++ is an extensible, modular, component-based C++ simulation library and framework and is used to simulate the network. To download it, please click [here](https://omnetpp.org/download/). OMNeT++ will be downloaded as a zip file. Once the download is complete, extract the file, you should see these files in the extracted directory. ![](https://i.imgur.com/YuSTF1u.png) Run *mingwenv.cmd*, which will start a console with the MSYS bash shell. In the shell type the following commands: ``` $ ./configure $ make ``` This might take a while to finish executing. **To verify** that the installation has been successful, run the following: ``` $ cd samples/aloha $ ./aloha ``` By default, the samples will run using the graphical Qtenv environment. You should see the following GUI windows. ![](https://i.imgur.com/77vk5iY.jpg) **Click OK** ![](https://i.imgur.com/HqdskWt.jpg) Yay!! your installation was successful!! **To run** the Omnetpp (OMNeT app), type the command ``` $ omnetpp ``` ###### Whenever you want to run omnetpp, you will need to run from the mingwenv console. ![](https://i.imgur.com/5ROa7qu.jpg) ## 2- Install Needed Tools for the GUI To run the simulation GUI, you will need to install *Eigen*. In the mingwenv console, type the following command: ``` git clone https://gitlab.com/libeigen/eigen.git ``` For more information on Eigen, please visit [this](http://eigen.tuxfamily.org/index.php?title=Main_Page) site. ## 3- Cloning and Building Quisp To clone and build Quisp, one your terminal (use the mingwenv console to clone the repo) and type the follwoing commands: ``` $ git clone https://<username>@bitbucket.org/sfc-aqua/kaaki_master_quisp.git ``` The last command will take a while to build the docker (around 15 mins). ## 4- Set up OMNeT for the Simulation *Launch* omnetpp from mingwenv console ![](https://i.imgur.com/ZU98fNh.jpg) From File >> Open Projects from File System ![](https://i.imgur.com/2aMxfLB.jpg) Click *Directroy* and choose the location where Quisp was cloned (usually it will be in the omnet directroy) ![](https://i.imgur.com/gTIq3ow.jpg) Select both files and click *Finish* ![](https://i.imgur.com/IviUq2n.jpg) That will make *kaaki-quisp-master* and *quisp* appear in your **Project Explorer** Select quisp, right-click on it and choose *properties*. ![](https://i.imgur.com/8HK3ddW.jpg) In the screen that shows up, expand OMNeT++, click on Makemake. Select quisp from the middle and on the right-habd side, choose Makemake and then click on options. ![](https://i.imgur.com/JSHw1cO.jpg) In the compile tab, click the add button ![](https://i.imgur.com/pvVkc8f.jpg) and then choose the directroy for **Eigen** and click OK ![](https://i.imgur.com/koTDUzd.jpg) In the *Project Explorer* right-click on quisp and choose *Run As* > *OMNeT++ Simulation*. ![](https://i.imgur.com/hGuJE1u.jpg) The following window will pop up, and it will take up to 2 mins to get the simulation set up. ![](https://i.imgur.com/KIjrKvB.jpg) Test the simulation by choosing a *Config name* ![](https://i.imgur.com/h3zut9d.jpg) And VoilĂ  !!! ![](https://i.imgur.com/mH7C1gH.jpg) ## 5- Running A Simulation From File > Set Up an Unconfigured Network... ![](https://i.imgur.com/0jFI8hB.jpg) Choose a network and click OK. ![](https://i.imgur.com/dUOFO2n.jpg) Enjoy the simulated results!! ![](https://i.imgur.com/ht6bIH1.jpg)