Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/15: Рейтинг темы: голосов - 15, средняя оценка - 4.73
 Аватар для LightProger
42 / 42 / 16
Регистрация: 29.12.2016
Сообщений: 291

Ncurses

22.08.2017, 18:57. Показов 3259. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте! Начал проходить основы интерфейса, появился такой вопросик. Как подружить CLion и ncurses. Библиотеки установил, в проекте подключаю заголовочный файл ncurses.h и начинаю компилировать программу, компилятор ругается:

/home/alexandr/Distr_for_Linux/clion-2017.1.3/bin/cmake/bin/cmake --build /home/alexandr/CLionProjects/ncurses/cmake-build-debug --target ncurses -- -j 2
Scanning dependencies of target ncurses
[ 50%] Building C object CMakeFiles/ncurses.dir/main.c.o
[100%] Linking C executable ncurses
CMakeFiles/ncurses.dir/main.c.o: In function `main':
/home/alexandr/CLionProjects/ncurses/main.c:9: undefined reference to `initscr'
/home/alexandr/CLionProjects/ncurses/main.c:10: undefined reference to `printw'
/home/alexandr/CLionProjects/ncurses/main.c:11: undefined reference to `stdscr'
/home/alexandr/CLionProjects/ncurses/main.c:11: undefined reference to `wmove'
/home/alexandr/CLionProjects/ncurses/main.c:12: undefined reference to `stdscr'
/home/alexandr/CLionProjects/ncurses/main.c:12: undefined reference to `wrefresh'
/home/alexandr/CLionProjects/ncurses/main.c:13: undefined reference to `stdscr'
/home/alexandr/CLionProjects/ncurses/main.c:13: undefined reference to `wgetch'
/home/alexandr/CLionProjects/ncurses/main.c:14: undefined reference to `endwin'
collect2: error: ld returned 1 exit status
CMakeFiles/ncurses.dir/build.make:94: ошибка выполнения рецепта для цели «ncurses»
make[3]: *** [ncurses] Ошибка 1
CMakeFiles/Makefile2:67: ошибка выполнения рецепта для цели «CMakeFiles/ncurses.dir/all»
make[2]: *** [CMakeFiles/ncurses.dir/all] Ошибка 2
CMakeFiles/Makefile2:79: ошибка выполнения рецепта для цели «CMakeFiles/ncurses.dir/rule»
make[1]: *** [CMakeFiles/ncurses.dir/rule] Ошибка 2
Makefile:118: ошибка выполнения рецепта для цели «ncurses»
make: *** [ncurses] Ошибка 2

В терминале когда компилируешь с помощью gcc file.c -o file -lncurses все нормально компилируется.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.08.2017, 18:57
Ответы с готовыми решениями:

ncurses & pthreads
Здравствуйте! Пишу программу с использованием ncurses и pthread. Нужно выводить в двух разных окошках работу потоков. Проблема в том,...

ncurses: ввод с control и alt
Как организовать обработку нажатий с control и alt?

Вывести содержимое файла с помощью ncurses.h
Подскажите как с помощью библиотеки "ncurses.h" вывести содержимое файла #include <ncurses.h> #include <unistd.h> ...

8
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
22.08.2017, 23:26
LightProger, ну так в опциях проекта шлиона добавь либу curses/
0
 Аватар для LightProger
42 / 42 / 16
Регистрация: 29.12.2016
Сообщений: 291
23.08.2017, 04:27  [ТС]
Цитата Сообщение от Вованя Посмотреть сообщение
LightProger, ну так в опциях проекта шлиона добавь либу curses/
А как и куда добавить, а то я только начинающий, основы Си прошел и все.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
23.08.2017, 10:57
Цитата Сообщение от LightProger Посмотреть сообщение
компилятор ругается
Ругается линкер (редактор связей), он не смог найти тел вызываемых в программе функций. Очевидно, в параметрах не передали библиотеку, в которой эти функции содержатся.
В терминале вы говорите компилятору взять реализации из библиотеки при помощи ключа "-l": "-lncurses".
Очевидно, при сборке из среды, она тоже должна передать компилятору этот ключ.
0
 Аватар для LightProger
42 / 42 / 16
Регистрация: 29.12.2016
Сообщений: 291
23.08.2017, 14:22  [ТС]
bormant, Да, это я понимаю, где в настройках CLion это сделать!!!! Вот в чем вопрос. Кто знаком с этой IDE, подскажите!
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
 Аватар для bormant
7816 / 4635 / 2837
Регистрация: 22.11.2013
Сообщений: 13,159
Записей в блоге: 1
23.08.2017, 15:43
Цитата Сообщение от LightProger Посмотреть сообщение
где в настройках CLion это сделать!!!! Вот в чем вопрос.
https://www.jetbrains.com/help... guide.html
Step 8. CMake

The IDE takes all the information about your project from the CMake files: what files are included into the project, defines, options, etc. Every change you make in CMakeLists.txt file is handled automatically by CLion, but you can also call Update CMake Project manually from the CMake tool window.
Внимательно прочитав документацию по CMake, придёте, возможно, к чему-то вроде:
Code
1
2
3
find_package( Curses REQUIRED )
include_directories( ${CURSES_INCLUDE_DIRS} )
target_link_libraries( Project1 ${CURSES_LIBRARIES} )
1
 Аватар для LightProger
42 / 42 / 16
Регистрация: 29.12.2016
Сообщений: 291
23.08.2017, 16:31  [ТС]
Цитата Сообщение от bormant Посмотреть сообщение
find_package( Curses REQUIRED )
include_directories( ${CURSES_INCLUDE_DIRS} )
target_link_libraries( Project1 ${CURSES_LIBRARIES} )
Сделал, компилятор заработал, программа компилируется нормально, но в конце выскакивает ошибка открытия терминала: Error opening terminal: unknown. Система Linux Mint 18.2 "Sonya" Cinnamon
0
 Аватар для _JohnSmith
117 / 53 / 2
Регистрация: 12.02.2017
Сообщений: 194
29.08.2017, 13:13
Цитата Сообщение от LightProger Посмотреть сообщение
Система Linux Mint 18.2 "Sonya" Cinnamon
Это не имеет значения. Ищите где в шлионе описывается запуск бинаря, но это искусственное самоограничение. Запускаем любимыую оболочку, выполняем cd /path/to/project и запускаем. Хотя порывшись найдете как привинтить любимую консольную окошку. Но и окошку надо будет поманить, ибо ключики запуска у них разные.
0
 Аватар для LightProger
42 / 42 / 16
Регистрация: 29.12.2016
Сообщений: 291
29.08.2017, 14:23  [ТС]
_JohnSmith, Да, я уже приноровился в текстовом редакторе писать, да вручную компилить. IDE, конечно штука удобная, но и без нее обойтись можно.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2017, 14:23
Помогаю со студенческими работами здесь

Fatal error: ncurses.h: Нет такого файла или каталога
fatal error: ncurses.h: Нет такого файла или каталога Скажите, как установить эту библиотеку (ncurses.h)

О ncurses
Бодрого дня, господа. Я тут на форуме встречал упоминания о ncurses. Пытался найти что-нибудь об этом, но все, что смог найти только...

Задачка с ncurses.h
Привет всем форумчанам! Не могу реализовать передвижение курсора в ncurses, хотя получалось делать на conio.h. Подскажите, пожалуйста,...

Библиотека ncurses.h
Здравствуйте, как можно перевести данную программу под linux? Знаю что есть библиотека ncurses.h но я не знаю как ей пользоваться ...

проблема с ncurses
просто нашёл листинг, в котором "привет мир" пишется через библиотеку ncurses: #include <ncurses.h> int main() { ...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это дополнительная запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru