The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите установить библиотеку NCURSES-5.2 под Linux"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите установить библиотеку NCURSES-5.2 под Linux"
Сообщение от Danger Dancer emailИскать по авторуВ закладки on 22-Авг-02, 14:17  (MSK)
Скачал библиотечку ncurses-5.2, и уже вторые сутки бьюсь - не могу ееё поставить. Мне оттуда нужны функции clear() и getch(). Сам я под Линухом работал очень мало - наверное что-то не догоняю. Делаю все по инструкции: запускаю configure, потом пишу make, потом make install. Программка проще некуда:

#include <iostream.h>
#include <curses.h>

void main(void)
{ clear();
cout<<"Hello"<<endl;
getch();
}

При компиляции g++ выдает, что не определены clear, stdscr и wgetch. В файле curses.h нахожу по поводу getch() такие строки:

extern WINDOW *stdscr;
#define getch()       wgetch(stdscr)
extern int wgetch(WINDOW *)           /*implemented*/

Насколько я понял, это означает, что данные функции и указатели описываются в каком-то внешнем файле, но в каком и где он лежит?????? Помогите пожалуйста, а то я уже полдня тупо смотрю в монитор и не знаю что с этим делать.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: Помогите установить библиотеку NCURSES-5.2 под Linux"
Сообщение от Аноним emailИскать по авторуВ закладки on 22-Авг-02, 22:58  (MSK)
>Скачал библиотечку ncurses-5.2, и уже вторые сутки бьюсь - не могу ееё
>поставить. Мне оттуда нужны функции clear() и getch(). Сам я под
>Линухом работал очень мало - наверное что-то не догоняю. Делаю все
>по инструкции: запускаю configure, потом пишу make, потом make install.

Все правильно. Но: при сборке своей программы добавьте флажок
-lcurses
к командной строчке g++.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: Помогите установить библиотеку NCURSES-5.2 под Linux"
Сообщение от Danger Dancer emailИскать по авторуВ закладки on 23-Авг-02, 10:30  (MSK)
>Все правильно. Но: при сборке своей программы добавьте флажок
>-lcurses
>к командной строчке g++.

Здорово, большое спасибо, все скомпилилось, правда работает не так как я ожидал.
Команда clear() ничего не делает, а я думал, что она очистит окно терминала.
Команда getch() тоже ничего не делает, а я думал. что она будет терпеливо дожидаться нажатия какой-либо клавиши.

Не подскажете в чем дело, в этой библиотеке по другому реализованы эти команды, чем в conio.h?

И еще вопрос в догонку, я еще хочу связать прогу с библиотекой libpq (от для подключения к PostgreSQL), но на флажок -llibpq компилятор говорит, что не может найти -llibpq, может быть она по другому называется, где это можно посмотреть?


  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: Помогите установить библиотеку NCURSES-5.2 под Linux"
Сообщение от anonymous emailИскать по авторуВ закладки on 23-Авг-02, 22:11  (MSK)
Sorry for English.

>>Все правильно. Но: при сборке своей программы добавьте флажок
>>-lcurses
>>к командной строчке g++.
>
>Здорово, большое спасибо, все скомпилилось, правда работает не так как я ожидал.
>
>Команда clear() ничего не делает, а я думал, что она очистит окно
>терминала.
>Команда getch() тоже ничего не делает, а я думал. что она будет
>терпеливо дожидаться нажатия какой-либо клавиши.
>
>Не подскажете в чем дело, в этой библиотеке по другому реализованы эти
>команды, чем в conio.h?

curses is similar to conio, but not quite like it. I can not describe
a curses programming model in this message, it would take a serious
article. For starters, read a documentation about cbreak/nocbreak modes.

>И еще вопрос в догонку, я еще хочу связать прогу с библиотекой
>libpq (от для подключения к PostgreSQL), но на флажок -llibpq компилятор
>говорит, что не может найти -llibpq, может быть она по другому
>называется, где это можно посмотреть?

It should be -lpq. If the linker still complains, add a flag
-L/usr/local/pg/lib (or wherever the libpq.a (or libpq.so) lives).
Then, if the program wouldn't run, make sure that this path is
known to loader.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: Помогите установить библиотеку NCURSES-5.2 под Linux"
Сообщение от Danger Dancer emailИскать по авторуВ закладки on 26-Авг-02, 10:35  (MSK)

>
>curses is similar to conio, but not quite like it. I can
>not describe
>a curses programming model in this message, it would take a serious
>
>article. For starters, read a documentation about cbreak/nocbreak modes.
>
Да, я нашел в документации про cbreak/nobreak, но на английском не понял как именно они используются и что там сказано про tty. При попытке использовать cbreak(); в программе, при выполнении она останавливается и выдает Segmentation fault. :~0
>
>It should be -lpq. If the linker still complains, add a flag
>
>-L/usr/local/pg/lib (or wherever the libpq.a (or libpq.so) lives).
>Then, if the program wouldn't run, make sure that this path is
>
>known to loader.

Большое спасибо.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "RE: Помогите установить библиотеку NCURSES-5.2 под Linux"
Сообщение от Danger Dancer emailИскать по авторуВ закладки on 27-Авг-02, 14:35  (MSK)
Всё, я разобрался, всем большое спасибо, я просто не проинициализировал библиотеку ( initscr();)

Нашел классную доку по этой библиотеке, если кому понадобится:

http://linux.ihep.su/LDP/HOWTO/NCURSES-Programming-HOWTO

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру