Need compiled Libs plz

nobody wrote on Tuesday, July 19, 2005:


I have no idea how to compile stuff in the command line, but I need the static libraries for GLFW.
The readme and online docs do not help me out, because I am too stupid for all this low-level-stone-age-compiling.
Oh my god how can you expect a 15 year old guy like me, who never used anything else then the idiot proof M$-Windows and Graphical IDEs, being able to do this?

Can somebody please compile the GLFW libraries for Dev-C++ (MingW) for me and load them up somewhere? Or send them to me in an email (I’ll give you the address, if you can send them).

As far as I have understood the readme, the files I need are: libglfw.a, glfw.dll and libglfwdll.a

although I have already found glfw.dll somewhere. ^^

nobody wrote on Tuesday, July 19, 2005:

sorry I don’t have access to MingW at the moment, maybe somebody else can help you out… it’s not too hard though, and it’s something you’ll want to learn how to do eventually so why not learn now

It might not be a bad idea for GLFW to start coming in convinient packages as well, perhaps a .zip with the binaries for windows people, and a .rpm and/or .deb for linux people. I am just now learning how to package .deb files, so I’ll probably give it a try. I guess it’s up to Marcus if he wants to start releasing official binary packages.

sqweek wrote on Wednesday, July 20, 2005:

> As far as I have understood the readme, the files I need are:
> libglfw.a, glfw.dll and libglfwdll.a

If you just want the static library then all you need is libglfw.a - glfw.dll and libglfwdll.a are for dynamic linking.
Afraid I can’t offer much in the way of compilation suggestions (I could never figure out any of the idiot proof IDEs for C development, but then considering vim and my low-level-stone-age-compilation tools let me do everything I need to do without touching the mouse I never had a lot of motivation to learn), but a quick google makes me wonder if Dev-C++ is set up for command-line compiling at all, or if you need to get the command-line MinGW…
Which sounds pretty ridiculous to me - I mean, if Dev-C++ includes MinGW it can presumably do what needs to be done. Anyway, if you check the link below you can see where I got the idea as well as a link to instructions for setting up the command-line MinGW.

(if you do set up the CLI, compiling the GLFW library should really be as simple as changing to the right directory and typing ‘make win32-mgw’. Though it has been a while since I compiled it myself so I might be forgetting something)

nobody wrote on Wednesday, July 20, 2005:

Hi, its me again!

Do I need to use the compile.bat file which you get with glfw? I got there through the windows command line, and it wanted me to write smething for MAKE and SUFFIX. Well, I still did not figure out, what I have to write there. You, sqweek, said "make win32.mgw". How does it know, where I have installed MinGW?

Why did the author of GLFW not include these files into the GLFW package?

sqweek wrote on Tuesday, July 26, 2005:

> Hi, its me again!

Oh heya! Sorry for taking so long to get back to you, I forgot all about this thread and I didn’t get around to checking my e-mail until yesterday (ever since I started working I just don’t seem to have as much free time :wink: ). And then when I was typing up a response I went to type W but hit ctrl instead of shift so the tab closed >< (never thought I’d rue the day I turned capslock into another ctrl…)

Aaaanyway -
>Do I need to use the compile.bat file which you get with glfw?
Well, like I said it’s been a while since I compiled glfw but I don’t believe it is necessary. At least, I don’t recall using it when I compiled under cygwin (which should be fairly similar to MinGW).

> You, sqweek, said “make win32.mgw”. How does it know, where I have installed MinGW?
It’s part of setting up the command-line MinGW - you alter the PATH environment variable to include MinGW’s bin/ directory. See step 3 of

> Why did the author of GLFW not include these files into the GLFW package?
My best guess would be binary compatibility, but that’s probably just because it’s foreign to me (are the object/library files created by MSVC compatible with the same created by BORLAND CC? Or MinGW GCC? What the hell is a .lib file anyway? Just a renamed .a or somewhat different?).

At the crux of your issue is GNU. Which stands for GNU’s Not Unix (don’t think about it too long…).I’m no guru on the matter but I get the impression that before mice and Windows and even DOS, some blokes (bloke?) got fed up with licensing issues in the UNIX world and said ‘LET THERE BE GNU’. And GNU, the free computing development environment was born, and life was good.
Why do we care about GNU? Well, at the moment we’re particularly interested in two utilities it provides - GCC (GNU C Compiler) and ‘make’ (or more correctly gmake but personally I’ve never seen a make that wasn’t :P). I’m pretty sure you can guess GCC’s purpose, but from the sounds of it you aren’t so familiar with make.
Without going into details, make is used to simplify the repetitive compilation process during developmen by creating a configuration file (Makefile) which tells make two things -1) any input files that your output files depend on, and 2) how to create the output files from the input files (so, in this case the output file you are interested in is the GLFW library, and the input files are the source).
Now, along comes DOS/Windows - it’s a different system, and doesn’t support GCC or gmake. Hey what the hell, it doesn’t even include a compiler?! Oh, but you can buy one… (of course, nowadays you can download one for free :slight_smile: )

I’m getting off track a bit, but to bring it back I get the impression that MSVC and the like /do/ include some kind of command-line make facility - not gmake (I’m getting to that), but something slightly different. I *think* this is what COMPILE.BAT is for - to provide a fairly simple interface for compiling glfw under windows with non-GNU tools.
We, on the other hand, are stuck with our free Dev-C++/MinGW and cygwin compliation environments. As it happens, MinGW and cygwin are both efforts to provide GNU tools under windows. Which means… to compile under windows we do exactly the same as if we were compiling under any other GNU environment! (well, except we use a different make file)

One final note, anyone who knows what is going on with the Dev-C++/MinGW relationship could probably tell you how to run make without downloading and setting up the command-line MinGW. Unfortunately I don’t have a fricken clue :wink:
Well, I hope that gives you some idea of what’s going on when it comes to compiling software. Good luck, and happy hacking!