Установка PDcurses в Windows

7 комментариев

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

Подождите, загружаются комментарии...

Возможность комментировать эту статью отключена автором. Возможно, во всем виновата её провокационная тематика или большое обилие флейма от предыдущих комментаторов.

Если у вас есть вопросы по содержанию статьи, рекомендуем вам обратиться за помощью на наш форум.