SORRY FOR THE NOOB QUESTION, but until some time ago (1 or 2 weeks) all my programs we comand-line, so I didn't have to... build them(?)

But some days ago, i decided to create a program with GUI, and I used QT creator for that.
Now My program is finished, and it does (almost) exactly what I want, but I can't build a "Release" for it, it tells me I'm missing some dlls, and after i include them, it give me some other weird errors.

Now, some googling, tells me that I have to use qmake, or Cmake, or stuff like that. I Didn't even knew what they were a minute ago.

So, please any help is really welcome.

BTW Sorry for my terrible english, I'm not a native speaker, so sometimes it's hard to explain my self

Recommended Answers

All 7 Replies

A make file is just a list of instructions for the compiler and linker. If your interested try googling make file tutorial or check here

http://mrbook.org/tutorials/make/

You will need the debug DLLs for the debug version and the release DLLs for the release version.

>>so I didn't have to... build them(?)
To help clarify, "building" is when you have a bigger project that requires several source files to be compiled into different building blocks (static libraries or shared libraries (DLL)) and then put altogether in a non-trivial way. That's all it means. Basically, it is when a single command line cannot do everything required, then there needs to be some sort of script that does a sequence of operations (mostly compilation commands). The tools that do that automatically are called build systems or build tools (common standalone tools are qmake, cmake, autoconf, and makefiles (but makefiles are not really automatic, you basically write the script from scratch and it's really not trivial to do)). All IDEs also have a built-in build tool (basically, when you start a project or solution in an IDE and add sources/headers/include-paths/libraries to the project, you are basically using the build tool of the IDE to construct this underlying building script that will be invoked with you hit the "build" button).

If Qt Creator can build a debug version, it can certainly build a release version. Check the options (like "build options" for the project). This will, most likely, be the easiest of all.

@gerard4143: writing makefiles is such a voodoo black-magic kinda thing. I wouldn't wish that on my worst enemy. In this case, either qmake or cmake are directly and very easily usable with Qt, that is by far the easier option, if Qt Creator really cannot be used to build a release version (extremely unlikely!).

@gerard4143: writing makefiles is such a voodoo black-magic kinda thing. I wouldn't wish that on my worst enemy. In this case, either qmake or cmake are directly and very easily usable with Qt, that is by far the easier option, if Qt Creator really cannot be used to build a release version (extremely unlikely!).

LOL...I thought user would like a brief introduction into making makefiles. You know something that would help demystify that voodoo.

I don't have a whole lot of experience with those, but in my opinion you will alienate a LOT of windows users. If you use some kind of messed up "build" system, will you port your application to windows? or will you require another download to install. End users hate dependencies like this.

>>but in my opinion you will alienate a LOT of windows users.
LOL.. if anybody is alienating windows users, it's microsoft. And, btw, most build systems like qmake, cmake, make, and bjam, are completely cross-platform. You might have to install a small piece of software to use them in windows, but these software are free and very small anyways. What is definitely not cross-platform are IDE-specific build systems (like vcproj from Visual C++). It is by far preferred to use a OS-agnostic build system for any kind of "professional" development. It's very annoying to have to reconfigure the build from scratch on every new IDE or OS you decide to use or switch to for a project.

>>End users hate dependencies like this.
The end users don't recompile your program. If they don't need to recompile your program, they won't need anything more as dependency than what your program requires (regardless of what build tool you used to compile it). But if they do want/need to recompile it, you certainly don't want to require them to have a particular proprietary IDE (like Visual Studio or something else), that's why people use makefiles or other build systems that are free and not dependent on an IDE.

Thank you guys, I finally got to execute my release file, with a little help of what you said in here.
I really apreciate your help

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.