Вчера и сегодня пытался установить C++ под Windows. Попробовал три пакета, ни в одном не удалось добиться того, что мне нужно. Нужно мне совсем немного — Win32 Console Application, возможность подсовывать файл в stdin, и чтобы всё работало без проблем.
Eclipse Начал с Eclipse, так как пользую её для Python. Нашёл некий СDT C++ для Eclipse, установил. Компилятор в пакет не входил — начал искать компилятор. Вспомнил, что когда-то давно устанавливал Visual Studio — но не смог найти его у себя на диске. Почитал про GCC — не захотелось сразу заморачиваться с установкой MinGW, поэтому следующим пунктом стала установка Visual Studio Express.
Visual Studio Express Установил, выбираю новый проект -> C++. Вылезает список шаблонов. Вижу незнакомое слово XAML и кучу шаблонов про Windows Phone, Windows Tile Application и прочие навороты. Набираю в поиске Win32 Console Application — не найдено. Там есть ссылка на "магазин шаблонов" — захожу туда, опять ищу Win32 Console app — никакого эффекта. Попробовал один из имеющихся шаблонов — объём кода после нажатия ОК сразу превысил что-либо, что я когда-то писал на C++. Испугался.
Попытлся прикрутить микрософтовский компилятор к Eclipse — не получилось. Прочитал про Codeblocks — написано типа устанавливаешь и всё сразу работает, плюс в пакет включён компилятор.
Codeblocks
Установил. Попробовал тестовую програмку — работает. Супер. Попытался загнать файл в stdin — никак. Пробовал в Command line arguments писать всё, что только можно — < input.txt (так работает в консоли), < .\input.txt, < C:\полный путь\input.txt — результат ноль. И хотя в заголовке консоли написана вроде бы правильная строка запуска, приложение файл по stdin не видит, хоть умри.
Eclipse Eclipse сам увидел что у меня появился GCC и сам его подключил — меня это порадовало. Попробовал тестовую программу — не найден iostream. Хорошо. Нашёл все заголовочные файлы, прописал в Header paths для компилятора. Ошибка с include исчезла — вроде бы всё видит. Осталась ошибка — и при компиляции она тоже вылезает — undefined function fprint. Мучился долго, пытаясь научить Eclipse этой стандартной функции, но ничего не получилось — уже всё, что относится к C++, все пути где мог прописал, а ошибка никуда не девается.
Что имею в остатке (после где-то пяти часов):
- Eclipse, который не признаёт fprint
- Codeblocks, который работает, но отказывается передавать файлы в stdin
- Microsoft Visual C++ Express, которые не понимает, зачем нужен Win32 Console и хочет чтобы я уже написал что-нибудь для Windows Phone.
Вопрос — может ли кто-нибудь что-нибудь порекомендовать? Я уже начинаю думать, что может быть забить на C++ и тренировать Java — она у меня с самого начала прекрасно работала в Eclipse. Второй вопрос — скажите мне, это я такой тупой, или что-то не то хочу от своего компьютера?
Да — я писал на C++ в 1997-2000 годах, с тех пор "в руки" не брал, потом был период PHP. В 2009-2010 игрался с Objective C++, потом изучал Java, но ничего большого на Java не написал. С 2012 года на Python — но в соревнованиях, где тайм лимит устанавливает в 1 секунд с Python трудно. Поэтому пытаюсь выбрать, к чему мне вернулся — к C++ или Java.