Ради интереса решил попробовать писать код C/C++ в Eclipse. Надо сказать задача оказалась не из "установил и заработало". По крайней мере под Винду и для компилятора MinGW. Но и слишком сложной процедуру тоже не назовешь. Пришлось немного посерфить по Инету в поисках ответов на вопросы. И, надо сказать, всех ответов в одном месте я не нашел. А некоторых не нашел совсем. Поэтому поделюсь своим опытом настройки Eclipse CDT.
Итак, первое, что нам нужно — сам Eclipse CDT (то есть для Си, есть еще много для чего). Берем его с официального сайта абсолютно безвозмездно, то есть даром. Размер дистрибутива на момент написания был примерно 87 Mb. Распаковываем архив в любой каталог, например C:\Program Files\eclipse.
Еще нам нужен сам компилятор и линкер MinGW. Он тоже загружается бесплатно. Но у меня он уже был установлен, а Вам возможно придется его установить. Если у Вас нет переменных окружения ОС для него, то их следует добавить: MinGW = путь_к_корневой_папке_mingwa и PATH += ;путь_к_корневой_папке_mingwa\bin\. Теперь лучше перезагрузить систему.
Запускам Eclipse. Создем новый проект C++ -> Executable -> Empty Project. Даем ему название. Сейчас проект у нас пока пустой. К тому же, если не видно папки Includes в дереве проекта, то её нужно добавить: Правой кнопкой на проекте во вкладке проекта -> Properties -> C/C++ General -> Path and Symbols -> Library Path. Добавляем пути до всех, нужных нам библиотек. Надо сказать, что Eclipse умный и дочерние папки добавляет рекурсивно.
Мы сразу немного усложним задачу, чтобы быть ближе к реальности и будем собирать проект из уже готовых файлов *.h и *.cpp, а не мучать старый добрый хеллоуворлд. Для нашего проекта понадобятся библиотеки DirectX. Поэтому в Library Path пишем путь до папки lib уже установленной (надеюсь) DirectX SDK. Во вкладке Libraries записываем dxguid и d3d9. Для OpenGL: opengl32 и glu32. Для Windows: gdi32. Во вкладке Includes прописываем путь до папки includes от DirectX SDK.
Тепер нам нужны сами файлы кода. Качаем недавно созданный мной маленький фреймверк для учебных примеров OpenGL и DirectX здесь. И все файлы архива простым перетаскиванием кидаем на наш проект. Eclipse спросит что делать, мы ответим — скопировать.
Теперь во вкладках Eclipse'а находим вкладку Make Target (по-умолчанию она должна быть справа) -> правой кнопкой на названии проекта -> main.cpp. Нажимаем правой кнопкой на проекте -> Build Project и наш проект готов! Можно запускать.
Здесь нас ждет один крохотный сюрприз. Если запускать экзешник в Эклипсе, то он запустится как и должен (на самом деле это только кажется :) ). А вот если запустить его вне IDE, то мы увидим один неприятный момент: вместе с нормальным окном Винды открывается еще и окно консоли. Этого нам ну никак не нужно! Убрать окно консоли для Windows-приложения в Eclipse можно. И просто. Правый клик на проекте -> Properties -> C/C++ Build -> Settings -> MinGW C++ Linker -> Miscellanious -> Linker Flag -> -mwindows.
Альтернативным способом настройки компиляции является файл makefile (может так даже проще). Но нам же нужно как-то использовать графический интерфейс? :)
8 комментариев:
Подскажите, пожалуйста в чем может быть дело: установил CDT, MinGW, msys, прописал пути к папкам bin в PATH. Но eclipse пишет Program 'g++' is not found in $PATH и аналогично для gcc. Хотя из командной строки эти программы успешно запускаются.
Не могу точно сказать вот так вот удаленно, но похоже где-то в Eclipse прописаны всё же не те пути.
Я использую несколько компиляторов MinGW, как мне настроить проект, что бы он использовал один из них не меняя переменные окружения?
Ещё в Eclipse такую штуку надо сделать, ибо мэйк-файл в MinGW может называться mingw32-make.exe
And last but not least, go to "Build Settings" tab, uncheck "Use default command", and enter new build command as "mingw32-make -f makefile". This will have Eclipse use mingw32-make rather than make command. That's it, click on Apply and then on OK.
> как мне настроить проект, что бы он использовал один из них не меняя переменные окружения?
Я таких способов не встречал, но ничего невозможного нет, думаю. Выход есть всегда, правда иногда...
"Если у Вас нет переменных окружения ОС для него, то их следует добавить: MinGW = путь_к_корневой_папке_mingwa и PATH += ;путь_к_корневой_папке_mingwa\bin\. Теперь лучше перезагрузить систему."
А куда их нужно добавить?
Для Вин-ХР, например, один из способов: правой кнопкой по "Мой компьютер" → "Свойства" → "Дополнительно" → "Переменные среды" → "Создать" (для MinGW) или ищем Path и жмем "Изменить" (для Path)
Ivan благодарю
Отправить комментарий