Я написал программу на Haskell, которая будет запускаться на Windows 7 машине. Это не моя машина. Я не могу выбрать ОС.
Она написана с использованием пакета ncurses и прекрасно компилируется на моей машине (Ubuntu). К сожалению, он не будет компилироваться на Windows даже под Cygwin. Это дает мне очень бесполезную ошибку (процесс завершился с кодом: ExitFailure 1), когда он пытается собрать пакет ncurses.
Я попытался указать точное расположение заголовочных и dll-файлов для ncurses, но безрезультатно. .
Могу ли я что-нибудь сделать, если не переписать программное обеспечение для использования другого пакета?
Оглядываясь назад, я должен был проверить, что это компилировать под Windows некоторое время go, но так как я успешно использовал ncurses в C на Windows в прошлом, у меня не было причин полагать, что это не сработает.
Мой текущий код доступен на GitHub .
Редактировать: Если бы я переписал части ввода-вывода, используя что-то еще (как абсолютное последнее средство), я бы нужно уметь делать следующие вещи:
- определять количество строк и столбцов в терминале
- получать уведомления, если размер терминала изменяется
- получать уведомления при нажатии клавиши (включая клавиши со стрелками и функцию k eys, без буферизации строки)
- управление положением и видимостью курсора
- отключение эхосигнала стандартного ввода
- изменение цвета текста / фона
... и мне нужно было бы уметь делать это как в Windows, так и Linux.