ncurses
— удобный и мощный фреймворк для создания графики в текстовом режиме. Но, к сожалению, он предназначен для UNIX
-подобных ОС. Чтобы исправить это досадное упущение была создана PDcurses
— аналог ncurses
под windows
.
Рассматривать использование PDcurses
будем на примере Dev-Cpp
. Если у вас ещё нет этой IDE, то бежим сюда, скачиваем, устанавливаем.
Получение PDcurses
PDcurses
в формате .zip
можно скачать тут.
Компиляция PDcurses
PDcurses
распространяется в форме исходного кода. То есть перед использованием библиотеки её нужно скомпилировать. Чтобы это сделать нужен компилятор MinGW
(который, как и PDcurses
, является аналогом компилятора UNIX
-систем, gcc
).
Первым делом распаковываем архив, к примеру в папку, куда вы установили Dev-Cpp
, в моём случае это C:\Dev-Cpp\
. Лучше не прямо в эту папку, а, например, в папку ...\Dev-Cpp\curses\
, так будет удобнее.
Для компиляции можно воспользоваться компилятором, который идёт вместе с Dev-Cpp
, но у меня он неправильно компилировал эту библиотеку (не спрашивайте, не знаю почему). Поэтому я воспользовался сторонним MinGW
-компилятором, скачанным из интернета (найдёте сами, если понадобится, не маленькие уже :)
Заходим в командную строку и набираем:
path = ...\MinGW\bin
Эта команда добавит в path путь к папке bin
вашего компилятора.
Теперь идём в папку, куда вы распаковали архив с исходниками библиотеки и переходим в папку win32
. В этой папке находится makefile, который создан для упрощения сборки, его имя mingwin32.mak
. Его нужно передать программе mingw32-make
, чтобы она скомпилировала библиотеку. Делается это так:
mingw32-make -f mingwin32.mak
После выполнения этой команды начнётся компиляция PDcurses
, нужно немного подождать. После окончания компиляции в папке появятся два файла — pdcurses.a
и panel.a
, это статические библиотеки, предназначенные для компоновщика, они то нам и нужны.
Теперь мы должны перенести эти два файла в папку со статическими библиотеками вашего компилятора. Для Dev-Cpp
это папка ...\DevCpp\MinGW64\lib\
.
Так же в папке, в которую вы распаковали PDcurses
есть заголовочный файл curses.h
. Его нужно перенести в папку с заголовочными файлами вашего компилятора. Для Dev-Cpp
это папка ...\Dev-Cpp\MinGW64\x86_64-w64-mingw32\include
. Теперь PDcurses
готова к использованию.
Тестирование PDcurses
Для проверки напишем программу, выводящую на экран «Hello, World!», начиная с координаты (5;5)
Для это создадим в Dev-Cpp
проект Console Application
(консольное приложение) и назовём его, к примеру, «curses».
Создадим файл main.cpp
(можно называть как угодно) и напишем в нём:
//Вместо ncurses.h тут curses.h
#include <curses.h>
int main()
{
initscr(); //Инициализация curses
//mvprintw прежде чем вывести строку, переведёт координаты курсора в заданную позицию
mvprintw( 5, 5, "Hello, World!" );
getch(); //Ожидаем нажатия клавиши
endwin(); //Выход из curses
return 0;
}
Теперь нужно добавить библиотеку pdcurses.a
. Для этого перейдём в Проект->Параметры проекта->Параметры->Добавить библиотеку
. Выберем файл pdcurses.a
из папки ...\DevCpp\MinGW64\lib
.
Всё. Теперь компилируем и запускаем
Автор: porshe
Комментарии к статье: 7
Возможность комментировать эту статью отключена автором. Возможно, во всем виновата её провокационная тематика или большое обилие флейма от предыдущих комментаторов.
Если у вас есть вопросы по содержанию статьи, рекомендуем вам обратиться за помощью на наш форум.