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

C++, CodeBlocks и ncurces - C++

25.09.2013, 11:50. Просмотров 1483. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос C++, CodeBlocks и ncurces (C++):

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

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

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

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

codeblocks
скачал codeblocks,не знаю как начать в нем работать. около года сидел в delphi?теперь не знаю как начать. очень жду ваших советов как...

С++ 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
5438 / 4833 / 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
5438 / 4833 / 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
5438 / 4833 / 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 , chto delat chto by dobavit bibliotheku &lt;iostream.h&gt;

Codeblocks!
Дело в том что я сижу под линуксом и пользуюсь Codeblocks. Я не как не могу разобраться, как там писать программы типа &quot;космос&quot;, т.е....

CodeBlocks
Помогите пожалуйста разобраться с проблемой: Не могу в среде CodeBlocks разобраться как определять характер компоновки((

С++ CodeBlocks Матрицы
Здравствуйте. Помогите пожалуйста. В данной лабораторной работе, которая приложена. Программа считает для матриц размерност 2 , но для...


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

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

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