Remember that C course I was talking about? Well part of it is to create a final project in which you choose from a list of libraries to make an application that does what ever you decide. I chose the OpenCV library and so far I think I want to make something that detects objects from a video stream of a webcam. That’s nice and all, but I also decided that I needed a GUI for said app.
And so began the quest to install GTK+ on my Windows XP laptop. Now that sounds like an innocent enough adventure, right? I wasn’t really sure what I needed to download from the official GTK+ site and was definitely feeling lazy, so I tried downloading a couple different installer packages to no avail. Then I downloaded just the developer package. Also, no dice.
I began looking around for some advice and came across these helpful instructions. I got the gtk-demo to run and then eventually was able to compile this simple tutorial using the MSYS command prompt with this line (visit the link for the individual blog post to see full line. SORRY I’M BAD AT TUMBLRING) ::
$ gcc base.c -o base.o `pkg-config --cflags --libs gtk+-win32-2.0`
However when I tried running the program I received this pop-up error ::
base.o - Entry Point Not Found - The procedure entry point deflateSetHeader could not be located in the dynamic link library zlib1.dll.
It took a bit of googling to understand that apparently my system had conflicting versions of the zlib1.dll and basically I needed to help GTK+ find the correct one, which was probably not the first found in the path.
I also learned that DLL Hell is a thing. On a scale from 1 to 9, I had only reached the first circle of Dante’s Inferno as I was in a state of dll limbo, trying to figure out the order in which my 10 zlib1.dll files were being accessed. Then I realized I could assign them an id number in their file name to blatantly take them out of question. I did it to 6 of them before finally getting the tutorial to run.
My screen capture capabilities are weak, but in the middle of the prompt, that little empty window, that was my reward!