Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133

Ошибка при запуске(компиляции) программы в терминале

23.02.2019, 19:40. Показов 2744. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
пишет что нет такого файла, хотя он есть, и в то же время простая программа т.к. "Helloworld'' таким же способом запускается, а при закуске этой программы появляется ошибка(скрин после кода программы)
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
#define TRUE 1
#define DELAY 5
#define WIDTH 100
#define HEIGHT 25
#define CHILD_OFFSET_ROW 10
#define PARENT_OFFSET_ROW 8
 
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <ncurses.h>
#include <time.h>
 
WINDOW *create_newwin(int height, int width, int starty, int startx);
void destroy_win(WINDOW *local_window);
 
int main(int argc, char *argv[])
{
    int child_status = -1;
    char symbol;
    pid_t pid;
 
    initscr();
    curs_set(0);
 
    noecho();
    halfdelay(DELAY);
 
    pid = fork();
    switch(pid)
    {
    case -1:
    {
        printw("Erorr while creating child process\n");
        refresh();
 
        flushinp();
        getch();
 
        exit(EXIT_FAILURE);
    }
    case 0:
    {
        WINDOW* childWindow = create_newwin(HEIGHT, WIDTH, 0, 0);
 
        while(symbol != '\n')
        {
            time_t seconds = time(NULL);
            struct tm* timeinfo = localtime(&seconds);
 
            wmove(childWindow, CHILD_OFFSET_ROW, 0);
            wprintw(childWindow, "Current Date and Time by Child_: %s", asctime(timeinfo));
            //wprintw(childWindow, " : %d", getpid());
            wrefresh(childWindow);
 
            flushinp();
            symbol = getch();
        }
 
        destroy_win(childWindow);
 
        exit(EXIT_SUCCESS);
        break;
    }
    default:
    {
        while(TRUE)
        {
            time_t seconds = time(NULL);
            struct tm* timeinfo = localtime(&seconds);
 
            move(PARENT_OFFSET_ROW, 0);
            printw("Current Date and Time by Parent: %s", asctime(timeinfo));
            refresh();
 
            if(waitpid(pid, &child_status, WNOHANG) > 0)
                break;
 
            napms(DELAY);
        }
 
        clear();
        if (WIFEXITED(child_status))
        {
            printw("Chiled exited with status of %d\n", WEXITSTATUS(child_status));
            printw("Press ENTER key, to continue...");
            refresh();
        }
        else
        {
            printw("Chiled exited with an error");
            refresh();
        }
 
        nocbreak();
        flushinp();
        getch();
 
        break;
    }
    }
 
   endwin();
 
   return 0;
}
 
WINDOW *create_newwin(int height, int width, int starty, int startx)
{
    WINDOW *local_window;
 
    local_window = newwin(height, width, starty, startx);
 
    box(local_window, 0 , 0);       // 0, 0 gives default characters
                                // for the vertical and horizontal
                                // lines
 
    wrefresh(local_window);     // Show that box
 
    return local_window;
}
 
void destroy_win(WINDOW *local_window)
{
    /* box(local_win, ' ', ' '); : This won't produce the desired
     * result of erasing the window. It will leave it's four corners
     * and so an ugly remnant of window.
     */
 
    wborder(local_window, ' ', ' ', ' ',' ',' ',' ',' ',' ');
 
    /* The parameters taken are
     * 1. win: the window on which to operate
     * 2. ls: character to be used for the left side of the window
     * 3. rs: character to be used for the right side of the window
     * 4. ts: character to be used for the top side of the window
     * 5. bs: character to be used for the bottom side of the window
     * 6. tl: character to be used for the top left corner of the window
     * 7. tr: character to be used for the top right corner of the window
     * 8. bl: character to be used for the bottom left corner of the window
     * 9. br: character to be used for the bottom right corner of the window
     */
 
    wrefresh(local_window);
    delwin(local_window);
}
Миниатюры
Ошибка при запуске(компиляции) программы в терминале  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.02.2019, 19:40
Ответы с готовыми решениями:

Файл при запуске по двойному щелчку мыши не работает как при запуске в терминале
Есть текстовый файл Goodgame.sh с таким кодом: xclip -o &gt; clipboard.txt file=&quot;/home/user/clipboard.txt&quot; while read line do #...

при компиляции выдает что нет ошибок, при запуске самой программы не запускается
Здраствуйте, помогите пожалуйста с программой. при компиляции выдает что нет ошибок, при запуске самой программы не запускается. в чем...

Ошибка при запуске после компиляции
'ZoneServerSD.exe': Loaded 'C:\Users\ENICH\Desktop\zone\rf_bin\ZoneServerSD.exe', Symbols loaded. 'ZoneServerSD.exe': Loaded...

13
725 / 224 / 73
Регистрация: 01.03.2011
Сообщений: 643
23.02.2019, 20:25
Цитата Сообщение от danila-2000 Посмотреть сообщение
пишет что нет такого файла, хотя он есть,
Точно есть? А где он у вас лежит?
что покажет
Bash
1
find $(echo | gcc -Wp,-v -x c++ - -fsyntax-only 2>&1) -maxdepth 1 -name ncurses.h 2>/dev/null
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 00:12  [ТС]
в терминале после этой строки и нажатия на enter ничего не происходит)
Миниатюры
Ошибка при запуске(компиляции) программы в терминале  
0
725 / 224 / 73
Регистрация: 01.03.2011
Сообщений: 643
24.02.2019, 00:17
Цитата Сообщение от danila-2000 Посмотреть сообщение
в терминале после этой строки и нажатия на enter ничего не происходит)
Значит по дефолтным путям поиска include файлов ncurses.h отсутствует...
Цитата Сообщение от danila-2000 Посмотреть сообщение
пишет что нет такого файла, хотя он есть
Где он???
1
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 00:41  [ТС]
да, нужно было скачать библиотеку
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 00:47  [ТС]
а вот теперь такая проблемка: неопределенная ссылка на `initscr '...........
это тоже надо, что-то скачивать ?
Миниатюры
Ошибка при запуске(компиляции) программы в терминале   Ошибка при запуске(компиляции) программы в терминале  
0
725 / 224 / 73
Регистрация: 01.03.2011
Сообщений: 643
24.02.2019, 11:54
Цитата Сообщение от danila-2000 Посмотреть сообщение
это тоже надо, что-то скачивать ?
Теперь попросить линкер подключить библиотеку. Добавить или поменять -lm на -lncurses
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 12:16  [ТС]
я поменял -lm на -lncurses остаются те же ошибки, а вот по поводу "добавить", знать бы куда))), но я добавил после -lm (т.е. g++ -lm -lncurses -o output main2.cpp) и всё равно тот же результат
0
725 / 224 / 73
Регистрация: 01.03.2011
Сообщений: 643
24.02.2019, 12:25
Цитата Сообщение от danila-2000 Посмотреть сообщение
я поменял -lm на -lncurses остаются те же ошибки,
так не бывает. Оно должно либо ругаться cannot find -lncurses либо успешно линковать программу
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 12:37  [ТС]
как-то так
Миниатюры
Ошибка при запуске(компиляции) программы в терминале   Ошибка при запуске(компиляции) программы в терминале  
0
725 / 224 / 73
Регистрация: 01.03.2011
Сообщений: 643
24.02.2019, 12:53
danila-2000, -lncurses в конец командной строки и man gcc что ли
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 13:00  [ТС]
Цитата Сообщение от prik Посмотреть сообщение
-lncurses в конец командной строки
вы имели в виду в самый конец после имени ?
Миниатюры
Ошибка при запуске(компиляции) программы в терминале  
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 13:05  [ТС]
вот если добавить такую строку: man gcc -o output main2.cpp -lncurses, то появится вот такое окно
Миниатюры
Ошибка при запуске(компиляции) программы в терминале  
0
0 / 0 / 0
Регистрация: 15.09.2018
Сообщений: 133
24.02.2019, 16:49  [ТС]
ошибка решена, надо правильно было скачивать ncurses.h
https://www.osetc.com/en/how-t... linux.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2019, 16:49
Помогаю со студенческими работами здесь

Ошибка при компиляции и запуске с телефона Asus
Установил Unity, скачал библиотеки SDK, но при попытке построить и запустить сразу на телефоне выводит сообщение(см. приложение). При...

В чем ошибка? При запуске программы открывается консоль и сразу ошибка о завершении программы
К тому же выдает warning: deprecated conversion from string constant to 'char*' . #include &lt;iostream&gt; #include &lt;string.h&gt; #include...

Возникает ошибка при запуске файла после компиляции
После компиляции моего приложения, а я его писал на XP, я перекинул его на Windiw7 и после запуска он мне выдает ошибку run-time error...

Найти причины и решение проблемы: при запуске тестовой программы всё виснет на этапе компиляции (SFML 64 бит)
Привет всем. Задался целью поработать с библиотекой SFML в VSc++15 и никак не могу дать ладу его установке. В общем всё делаю как...

Ошибка при компиляции программы
Fatal: Illegal option: 07)\FastReport\LibBCB6;c:\program files (x86)\borland\cbuilder6\Projects\Lib;C:\Windows\system32;C:\Program Files...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru