Qt-creator和ncurses:未找到initscr()

时间:2013-03-17 21:50:26

标签: c++ qt-creator ncurses

我在Xubuntu x64上,我想在我的软件中使用ncurses。该软件正在使用Qt Creator 4.8构建。我没有问题,包括ncurses.h文件,但是当我想使用ncurses(initscr()和endwin())的函数时,我得到以下错误:

  

对'endwin'的未定义引用

     

对'initscr'的未定义引用

我应采取哪些措施来解决此问题?

我安装了以下与ncurses相关的软件包:

  • 中的libncurses5:AMD64
  • 中的libncurses5:I386
  • 中的libncurses5-dbg的
  • 中的libncurses5-dev的
  • libncursesw5:AMD64
  • libncursesw5:I386
  • libncursesw5-dbg的
  • libncursesw5-dev的
  • ncurses的基
  • ncurses的仓
  • ncurses的实例

2 个答案:

答案 0 :(得分:3)

我发现了(最后)

正确的方法:右键单击您的项目 - > gt;添加库 - >系统库 在这里你需要* .so文件的路径(所以不是* .so.5或其他东西),这在我的情况下 /usr/lib/x86_64-linux-gnu/libncurses.so

然后添加它和tadaaa:完成。

答案 1 :(得分:1)

我也发现这个指南可能有用,对我来说还没有用 http://www.lucidarme.me/?p=3961

“在项目的.pro文件中,添加以下行以指定编译器必须使用ncurses库:

LIBS += -lncurses

要避免以下错误消息:“打开终端时出错:未知。”,在Qt的运行环境中添加变量。项目 - >运行 - >运行环境 - >加。添加一个名为TERM的变量并将其设置为xterm。“

UPD:通过检查Projects-> Run中的“Run in terminal”选项解决了我的问题。