 Hey everybody, this is Brian and welcome to the 115th Qtutorial. Alright, let's play hypothetical here. Let's say you've been watching my tutorials and you've watched the last 045 videos where we've been beating zip files to death and you get all excited over QZipReader, QZipWriter. You go out to my website www.voidromes.com and you filter it down and you get to it and you download this zip file, you extract it, everything's looking good, you try to build it and nothing happens. You get a bunch of errors. Well that's what we're going to fix in this tutorial. It compiled and ran just fine in Linux but I had a few hundred emails saying hey, this is not working in Windows. So I went in and took a look at it. So let's just right out of the box, you unzip this, you went into the project file and you're looking at this. First thing off the bat I notice is, should say ZDLL. Now if we try to build this after we save it, we get a bunch, I mean just a ton of messages. Undefined Reference 2, what do those mean? Well, Undefined Reference 2 means, well, we're missing something. So let's actually go into Zlib, Windows, grab this DLL file, be sure to throw it in here, give another rebuild, ooh, still not seeing it. Sometimes you'll notice this and sometimes you won't. Just depends on which version of Windows you're on, you'll see a bunch of warnings pop up. But it'll say redefined, redefined, redefined, for whatever reason I just can't get it to do it right now. But the reason for that is, well, these little guys, QGUI export, Qbegin namespace. What we need to do is actually take this out of the Qt namespace and stop defining these. So we're going to actually just go into ZipReader here, I'm going to delete that too, off the struct. We're going to leave this QDisableCopy, we're going to get rid of this, we're going to get rid of that. So essentially what we're doing, we're going to get rid of this warning message because this is no longer part of the Qt library here. This is still under their copyright, so we're going to leave the copyright header, we're just trying to get this to work in our project here. Alright, save that. Now you notice how we have 25 issues, we give it a good build, we have 4 issues, 10 issues. So we just cut them in half. So let's whittle down here, get rid of that, get rid of that, get rid of that, and get rid of that. Ta-da, we have a successful build. From this point, all we really need to do is go into the source code and modify these little paths here. So let's just do that while we're actually recording and doing stuff here. Move that off to the side here, and da-da-da-da-da-da. Remember we have to do these forward slash or it treats it as an escape character. It's one of the annoying things about Windows, I know some of you out there probably snickering on there, there's a lot of annoying things about Windows, yeah, there are a lot of annoying things about every operating system. Get that in here. Alright, so you can see how there is no test.zip, we're going to actually give this a good build. We're going to run this, should say test.jpeg, if it just crashes, like if it says press any key to continue, you forgot to actually copy the DLL into the same folder as this little EXE that we just built. See, right there's the DLL. If you forget that, this will crash, it'll compile but it won't run. So let's actually go back in here, there's test.zip, there's the image inside of it, and there is fail.2, fail.2, fail.2, huh, there she is in all her glory. Well that's really all for this tutorial, I have actually gone into my Ubuntu installations plural and tested this quite extensively, I was a little embarrassed it didn't work. I do apologize about that but wanted to make everything right in the world. So now, we have the zip reader, zip writer, thanks to Qt, they're still on the copy right to this. We just had to take it out of the namespace, ooh, should probably get rid of that too. Give us another good build and see what happens here. Yep, still works, alright. So I'm going to zip all this up, throw this up on my website as tutorial 115. Thanks for watching everybody, I hope you found this educational and entertaining and I'll see you soon.