Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
1

C++, CodeBlocks и ncurces

25.09.2013, 11:50. Просмотров 1548. Ответов 18
Метки нет (Все метки)

Пытаюсь скомпилировать простенький пример с ncurces
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <curses.h>
 
int main(int argc, char **argv)
{
    initscr();
    move(5,15);
    printw("test message");
    endwin();
}
libncurses5-dev установлен, компилирую с -lncurses
есть ошибки
Код
undefined reference to `initscr'
undefined reference to `move'
undefined reference to `printw'
undefined reference to `endwin'
Как вобще правильно линковать библиотеки, на примере ncurses?
Использую codeblocks в качестве IDE, никак не могу разобраться с этим вопросом. Флаг указал в опциях сборки. Там еще есть вкладка Linker settings, может там что-то указать надо?
0
Миниатюры
C++, CodeBlocks и ncurces  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2013, 11:50
Ответы с готовыми решениями:

Code::Bloks C++, В чем разница "codeblocks-12.11-setup.exe" и "codeblocks-12.11mingw-setup.exe"
Захожу на сайт хочу скачать codeblocks чтобы на нем изучать си++ , толька н...

Codeblocks
как подключить русские буквы в с++ , выводит не понятные симвлы

CodeBlocks
Вообщем хочу поставить русскую кодировку(windows-866),погуглил,нашёл ответ,как...

CodeBlocks 13.12 vs 10.05
Еще раз вынужден просить помощи у Сообщества. Есть программа (код С++) которая...

codeblocks
скачал codeblocks,не знаю как начать в нем работать. около года сидел в...

18
rublag
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 156
25.09.2013, 13:16 2
как запускается gcc?
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 13:46  [ТС] 3
Спасибо, но уже сам разобрался, не туда прописал -lncurses
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 13:47  [ТС] 4
Надо вот так, может пригодится кому.
0
Миниатюры
C++, CodeBlocks и ncurces  
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2013, 13:58 5
Цитата Сообщение от [WRG] Посмотреть сообщение
не туда прописал -lncurses
Не туда - это куда?
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 14:25  [ТС] 6
Сперва прописал в Compiler settings -> Other options. Оказалось надо было в Linker settings.
0
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2013, 14:33 7
Цитата Сообщение от [WRG] Посмотреть сообщение
Сперва прописал в Compiler settings -> Other options. Оказалось надо было в Linker settings.
А через Add (как на скрине в 1 посте), прописать путь к библиотеке, в Link libraries, не пробовали? Для большинства библиотек этого достаточно (хотя есть и исключения, напимер, glut), и тогда не нужно прописывать ничего в Other linker options.
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 14:35  [ТС] 8
Пробовал, точно так же работает, но в моём случае -lncurses прописать быстрее, чем путь.
1
alsav22
5442 / 4837 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
25.09.2013, 14:41 9
Цитата Сообщение от [WRG] Посмотреть сообщение
Пробовал, точно так же работает, но в моём случае -lncurses прописать быстрее, чем путь.
Понятно. Но это, наверное, работает, когда библиотека в папке проекта (а может и нет, не проверял). Впрочем, кому как наравится.
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 15:30  [ТС] 10
Возникла новая проблема. Почему-то не дебажатся программы c ncurses. GDB просто вылетает, при попытке перейти на следующую строку.
Вот прогрессбар, вылетает при переходе с initscr() к циклу.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include <ncurses.h>
#include <cstring>
 
void showProgress(unsigned short percent);
 
int main(int argc, char **argv)
{
    initscr();
    for (int i = 0; i < 100; i++)
    {
        showProgress(i);
        getch();
    }
 
    endwin();
    return 0;
}
 
void showProgress(unsigned short percent)
{
    char *progressBar = new char [40];
    *progressBar = '\0';
    strcpy(progressBar, "[");
    int i;
    for (i = 0; i < percent / 5; i++)
    {
        strcat(progressBar, "|");
    }
    for (;i < 20; i++)
    {
        strcat(progressBar, " ");
    }
    strcat(progressBar, "]  ");
    char *tmpBuf = new char [10];
    sprintf(tmpBuf, "%i%%", (int)percent);
    strcat(progressBar, tmpBuf);
    move(2, 0);
    printw("%s\n", progressBar);
    refresh();
    delete [] tmpBuf;
    delete [] progressBar;
}
0
rublag
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 156
25.09.2013, 17:16 11
Переменная окружения TERM установлена?
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 17:17  [ТС] 12
как можно посмотреть?
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 17:21  [ТС] 13
это случайно не вот это?
0
Миниатюры
C++, CodeBlocks и ncurces  
rublag
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 156
25.09.2013, 17:21 14
код взял со stackoverflow
C++
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main(int argc, char **argv, char** envp)
{
  char** env;
  for (env = envp; *env != 0; env++)
  {
    char* thisEnv = *env;
    printf("%s\n", thisEnv);
  }
}
1
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 17:36  [ТС] 15
В выхлопе есть такое.
TERM=xterm

Добавлено через 12 минут
Нашел в репах еще libncurses5-dbg, установил, ничего не изменилось. Думал сначала в этом дело. libncurses5-dev установлен.
0
rublag
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 156
25.09.2013, 17:38 16
я использую qtcreator, а не codeblocks, у меня с gdb всё отлаживается, похоже баг в codeblocks

Добавлено через 55 секунд
установил codeblocks 12.11 32 бита, создал консольный проект, отладка работает
0
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 17:45  [ТС] 17
У меня он тоже есть, попробую. Только что пробовал в CodeLite, точно такие же симптомы.

Добавлено через 1 минуту
кстати компилятор и отладчик из репозиториев unstable, может в этом дело?
Код
bernhardt@NP355V4C:~$ gdb --version
GNU gdb (GDB) 7.6 (Debian 7.6-5)
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.

bernhardt@NP355V4C:~$ g++ --version
g++ (Debian 4.7.2-5) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Добавлено через 4 минуты
Создал в QtCreator простой проект с qmake, но без qt. Как в нем библиотеку ncurses линковать?
0
rublag
52 / 52 / 14
Регистрация: 06.02.2013
Сообщений: 156
25.09.2013, 18:10 18
в .pro добавить:
Код
QMAKE_LFLAGS += -lncurses
Добавлено через 2 минуты
у меня g++ версий 4.8.1 и 4.7.3, но я думаю, что дело не в этом

Добавлено через 10 минут
А если запустить ide из консоли, будет работать(увидел решение на одном форуме)?
1
[WRG]
52 / 52 / 37
Регистрация: 20.11.2011
Сообщений: 243
Записей в блоге: 1
25.09.2013, 18:26  [ТС] 19
Да, если из консоли запустить codeblocks, то работает!
0
25.09.2013, 18:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.09.2013, 18:26

С++ CodeBlocks
Здравствуйте, уважаемые пользователи этого великолепного форума)) Задание: ...

codeblocks
Codeblocks , chto delat chto by dobavit bibliotheku &lt;iostream.h&gt;

Codeblocks!
Дело в том что я сижу под линуксом и пользуюсь Codeblocks. Я не как не могу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru