QT Learning (3)-Introduction to Development tools
1. GNU Tool Set
in the 80 's, the computer is a luxury, the operating system is the most famous Unix family, when there is no Windows, Linux and the like, Unix systems are commercial software, the application software is also commercial software, all closed environment. System Programmer Richard M. Stallman (RMS) created a distinctive GNU project in this environment (GNU's not Unix) and Free Software Foundation (FSF), which promotes free software development. The GNU project was designed to create a free Unix-like system, and thus developed many open source system tools, notably GCC (GNU Compiler Collection,gnu compiler Suite). In the GNU toolset, a few of the frequently seen developments are listed below (these tools are typically located in the/usr/bin/directory on Linux or Unix systems):
Gcc |
GNU C language Compiler. |
g++ |
GNU C + + language compiler. |
Ld |
The GNU linker, which links the target files and library files to create executables and dynamic-link libraries. |
Ar |
Generate a static library. A, you can edit and manage the static link library. |
Make |
Generator, which can be delivered to executable programs or library files according to the makefile file automatic compilation chain. |
Gdb |
A debugger that is used to debug an executable program. |
LDd |
View the shared library (extension. So, also called the dynamic Link library) on which the executable file is dependent. |
2, MinGW
Originally, the GNU tool was only available in the Linux/unix system, and with the extensive use of Windows systems, the GNU tool was created for use in Windows systems, and the MinGW (minimalist gnuforwindows) project, using MinGW You can build the EXE program and DLL link library inside Windows. It is important to note that there are some differences between the MinGW and the GNU toolset in the Linux/unix system:
- MinGW inside the tool with the extension. exe, the tools in the Linux/unix system are usually not extension.
- MinGW inside the generator file named Mingw32-make.exe,linux/unix system is called make.
- MinGW is linked to the *.A Library Reference file at link time, and the resulting executable program runs on *.dll, while the Linux/unix system links and runs using *.so.
In addition, there is no LDD tool in MinGW because Windows does not use. So shared library files. If you want to view the dependent libraries of executable files in Windows, you need to use Microsoft's own Dependency Walker tool. The dynamic Library extension in Windows is. Dll,mingw You can use Dlltool to generate the files that you need for creating and using dynamic-link libraries, such as. def and. Lib.
MinGW was originally used to generate 32-bit programs, and as 64-bit systems became popular, the MINGW-W64 project was separated from MinGW, and the project supported the generation of 64-bit and 32-bit programs. Qt's MinGW repository is generated using the toolset inside the MINGW-W64 project.
In addition, because MinGW itself is mainly compiled links and other tools and header files, library files, does not include system management, file operations, such as the Shell environment, which would like to use Unix-like command of the developer is not enough. So MinGW officially launched the MSYS (Minimal system), the equivalent of a small Unix system deployed in a Windows system environment, porting a lot of unix/linux command-line tools and configuration files, etc., is the extension of MinGW. MSYS is a convenience for people who are familiar with the Unix/linux system environment or are trying to learn the unix/linux system. Installation upgrades for MSYS and MinGW are implemented through their official Mingw-get tools, which are unified download and installation management. For the MINGW-W64 project, it corresponds to a small system environment called MSYS2 (Minimal System 2), MSYS2 is a derivative version of MSYS, not only supports 64-bit systems and 32-bit systems, but also its own unique package management tools, from the Arch Linux The system Pacman software management tools, so installed MSYS2, you can directly through the Pacman to download the installation software, and can automatically solve the dependency, convenient system upgrade and so on. After installing the MSYS2, you do not need to download the mingw-w64 yourself, you can install the Compile Link tool and Git tool directly with pacman command.
MinGW Project homepage (including MSYS): http://www.mingw.org/
Mingw-w64 Project Home: http://sourceforge.net/projects/mingw-w64/
MSYS2 Project Home: http://sourceforge.net/projects/msys2/
QT Learning (3)