Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

User guide for absolute beginners? #41

Open
dzalf opened this issue Aug 22, 2021 · 2 comments
Open

User guide for absolute beginners? #41

dzalf opened this issue Aug 22, 2021 · 2 comments

Comments

@dzalf
Copy link

dzalf commented Aug 22, 2021

Dear guys

First of all, thank you for the amazing work with the mahi-gui project. I have played around with the demos and the vast integration of different libraries is what attracted me the most from this project.

I am an absolute beginner thus please bear with me. I first came across the ImPlot library a couple of months ago since I had been looking for a nice library and/or platform for plotting real-time data from a group of sensors in a custom GUI. This led me to read a bit more about the Dear ImGui project. As part of their recommended alternative 'wrappers', the mahi-gui was one of the best-regarded by some.

I would like to learn about its integration and development with Visual Studio 2019 however, I have not found any resources online with detailed guides and/or tutorials covering the mahi-gui package.

I would like to kindly ask you if you could point me to some resources to learn from scratch on how to develop my own solution. I have tried to run a couple of tests using the CMake file and also pointing the linker to the built sources, however, Microsoft VS 2019 cannot find the header files.

Thank you in advance and my best wishes to you all 😉

@epezent
Copy link
Member

epezent commented Aug 26, 2021

@dzalf , running the Windows CMake build commands in the README will generate a .sln that you can open in Visual Studio and develop from. No need to touch CMake after the fact. It's that simple.

@dzalf
Copy link
Author

dzalf commented Aug 28, 2021

Dear Evan

Thank you for your prompt response. My apologies for getting back to you this late. I have been busy testing the library and with other activities.

I was able to run some tests using the VS solution created by the CMake file, as you suggested. I ran into some issues when setting up a custom project that I solved after a couple of days of experimenting with the example codes

In short:

  1. I added a new project called HelloWorld inside a folder called 'tests' inside the mahi-gui Solution.
  2. I then added a modified version of the example code from the repo's front page.

After this step, I knew that I had to edit the project properties by pointing the C/C++ compiler to the additional include directories and the preprocessor definitions. Similarly, I added the right paths to the additional dependencies in the linker input section. This last step required individually matching each path to the right locations in my PC. However, this was not an intuitive task, since I had to copy these fields from the existing working projects in the examples folder (e.g. gears project).

This posed me with the first question: Are these configurations populated/managed by the CMake tool? (please excuse my ignorance as I have no previous experience with CMake 😞 )

After copying several fields I was able to compile and link my HelloWorld test project and interact with my very first Window! 🥳

image

Now, one issue that repeatedly occurred (which now I am unable to replicate) referred to "RunTime Check Failure #2 - Stack around the variable 'app' was corrupted". This problem disappeared after several attempts of matching my project's properties to those from the examples. This leads me to the second question: is there a way to export the configuration from one project to another or to create some sort of a project template? As far as I and the internet know ( including SOVF 😉) VS 2019 does not offer an option to export the .props file; only importing is possible. Otherwise, I might be missing something.

Finally, is using the VS Solution the best workflow for developing custom applications/projects or there is a better way to do it?

I will keep experimenting and I will come back with more questions if needed. My final goal is to develop a simple GUI to display the values from some sensors in real-time.

Thanks once again

Cheers 🍻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants