Cheiron
Cheiron

Reputation: 3736

Qt-creator and ncurses: initscr() not found

I am on Xubuntu x64 and I want to use ncurses in my software. This software is being build with Qt Creator 4.8. I have no problems including the ncurses.h file, but when I want to use functions of ncurses (initscr() and endwin()) I get the following errors:

Undefined reference to 'endwin'

Undefined reference to 'initscr'

What steps should I take to fix this problem?

I have installed the following ncurses related packages:

Upvotes: 2

Views: 2056

Answers (2)

Bat
Bat

Reputation: 833

and I also found this guide may be it works, to me none has worked yet http://www.lucidarme.me/?p=3961

"In the .pro file of the project, add the following line to specify to the compiler it has to use the ncurses library:

LIBS += -lncurses

To avoid the following error message : “Error opening terminal: unknown.”, add a variable in the run environment of Qt. Project -> Run -> Run environment -> add. Add a variable named TERM and set it of xterm."

UPD: my problem solved by checking the "Run in terminal" option in Projects->Run.

Upvotes: 1

Cheiron
Cheiron

Reputation: 3736

I found out (finally)

The right way to do it: rightclick your project->add library -> system library Here you need the path to the *.so file (so not *.so.5 or something), which was in my case /usr/lib/x86_64-linux-gnu/libncurses.so

Then add it and tadaaa: done.

Upvotes: 3

Related Questions