Какой компилятор выбрать для C++?

Я начал изучать C++, скачал компилятор от gcc или как там, но он правильно компилирует только код на C, а C++ компилирует, создает файл exe, но выходит ошибка при его запуске. Скажите, в чём может быть дело, или просто дайте ссылку на нормальный компилятор и инструкцию по его установке.
  • Вопрос задан
  • 311 просмотров
Пригласить эксперта
Ответы на вопрос 8
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
gcc - компилятор языка си. Если вы хотите компилировать C++, то запускать надо g++.

И вообще gcc - он в экосистеме линукс. Чтобы оно работало под виндой, то надо ставить специальную прослойку эмуляции экосистемы линукса, вроде mingv.

Под виндой легче использовать компилятор от microsoft: msvc. Легче всего его поставить в комлекте с бесплатной версией visual studio.
Ответ написан
NeiroNx
@NeiroNx
Программист
Я бы для exe взял VisualStudio для старта а с ней уже и все компиляторы поставятся. GCC конечно может под вин компиоить но это темная магия.
Ответ написан
Комментировать
@rPman
gcc это образцово показательная реализация компилятора c++ и c, на нем обкатываются очередные стандарты, я бы еще с оглядкой думал про llvm clang, но с его помощью по простому ты не получишь windows exe (или уже можно?).

Если тебе важен именно мир windows, то майкрософт, с завидным постоянством ломающая стандарты в угоду своей монополии, то конечно используй майкрософтовский компилятор mscc (идет в поставке с ms visual studio и как отдельный sdk).

Так вот если у тебя один компилятор дает 'рабочий код' а другой нет, это значит какой то из этих компиляторов неожиданно обошелся со стандартами (это может быть не сам компилятор а набор правил и библиотеки, которые идут с ним в 'комплекте') а значит у тебя в коде ошибка, которая просто не вылезает (или вылезает с меньшей вероятностью) с одним из компиляторов.

Исправляй ошибку - проблема исчезнет.
Ответ написан
AshBlade
@AshBlade
Просто хочу быть счастливым
Установи Visual Studio и при установке поставь галочку напротив C++
Для винды лучше использовать msvc
Ответ написан
Комментировать
@Noname45
Если работаешь с Windows - MSVC
Если нужна кроссплатформенность - GCC
Если хочешь побаловаться с компилятором - LLVM Clang
Ответ написан
Комментировать
@res2001
Developer, ex-admin
Если под виндой сидишь, то используй MSVS.
Если планируешь что-то кросс-платформенное делать, то gcc/clang в самый раз.
Проще всего под винду использовать mingw - это сборка gcc для винды с частично портированным POSIXом.
Сам mingw можно установить разными способами.
Мне нравится связка msys2 + mingw. msys2 - это линуксовая оболочка со всем стандартным линуксовым окружением и пакетным менеджером pacman. С помощью пакетного менеджера можно устанавливать и mingw и clang и кучу библиотек и все это обновлять одной командой. Легко подключать к разным IDE (но не к MSVS) или запускать из командной строки винды.

Так же под виндой можно настроить WSL в него поставить какую-нибудь ubuntu, а внутрь уже любой доступный компилятор и т.д. и т.п. По сути это виртуальная машина с линуксом.
Ответ написан
Комментировать
@LanskoyGames
У модераторов первое место, но только с конца...
Xcode, если Mac, очень удобный.
Ответ написан
@Anaflion
Хмм... Не помню проблем с gcc под win совершенно никаких - вот в чем можно быть уверенным - это в работе сообщества над компилятором.

Он мне собирал и qt и wxWidgets не говоря про мои простые относительно приложения.

У вас проблема, возможно, что не с ним. Вы ему ключи какие передаëте для компиляции приложения? Может у вас проблема с системой сборки? Может не все библиотеки и их зависимости указаны?

У вас приложение линкуется со внешними зависимостями статически или динамически? Если динамически, то может вам надо эту dll подложить ?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы