Какой файл MinGW использовать в качестве компилятора С++
Я только что установил MinGW, и в папке bin я вижу файлы 7.exe, которые компилируют мою программу:
- С++. EXE
- г ++. Ехе
- mingw32-С++. EXE
- mingw32-г ++. Ехе
- gcc.exe
- mingw32-gcc.exe
- mingw32-НКУ-4.4.1.exe
Моя маленькая программа (testprog.cpp) правильно компилируется с каждым из них; файл a.exe
создается в папке bin и работает правильно.
Какая разница между ними и какой из них я должен использовать?
Кроме того, что я могу сделать, чтобы автоматически изменить имя выходного файла из a.exe на testprog.exe при каждом успешном компиляции?
Ответы
Ответ 1
Вполне возможно, что они все одинаковы; либо точные копии, либо символические ссылки друг на друга. Попробуйте использовать флаг --version
для каждого, чтобы узнать, что у вас есть. В моей установке MingGW здесь каждый из этих двоичных файлов отличается (отмечен с помощью diff
), но все они выводят одну и ту же информацию о версии (за исключением первого бита, который является именем файла):
gcc.exe (GCC) 3.4.5 (mingw-vista special r3)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Используйте флаг -o
, чтобы изменить имя выходного файла:
gcc -o testprog.exe testprog.cpp
Ответ 2
Они соответствуют соглашениям об именах gcc.
- С++. exe - традиционное имя для системного компилятора С++
- g++. exe и gcc.exe - это имена компиляторов gcc, которые компилируются для "текущей системы"
- mingw32- * version - это имена компиляторов, которые перекрестно скомпилируются с целью "mingw". В этом случае это то же самое, что и системная цель.
- Затем mingw32-gcc-4.1.exe является "gcc для целевой версии 4.1"
Обычно вы должны скомпилировать C-код с вариантом "gcc" и С++-кодом с вариантом "g++".
Используйте -o filename
, чтобы указать имя выходного файла, по умолчанию используется a.exe
Ответ 3
В unix они были в основном символическими ссылками. Единственное существенное различие между "cc" и "++". Вы должны заметить разницу между этими двумя, если вы используете какую-либо часть стандартной библиотеки С++. "++" версии ссылаются на эту библиотеку автоматически. "Cc" - это компиляторы C, и поэтому не... хотя вы можете использовать их как компиляторы С++, просто добавив -lstdС++ или что-то еще.
Ответ 4
в то время как я искал в Интернете инструкции для создания некоторых DLL файлов, которые я запускал в процессе компиляции С++ и из того, что я видел, они использовали g++ для компиляции С++ так же, как с помощью gcc.