【问题标题】:How to include or link ncurses/ curses library in Codeblocks 13.12 in Ubuntu 16.04?如何在 Ubuntu 16.04 的 Codeblocks 13.12 中包含或链接 ncurses/curses 库?
【发布时间】:2017-06-30 13:26:00
【问题描述】:

希望你做得很好!

我在基于 ubuntu 16.04 的 Elementary OS (Loki) 中使用代码块 13.12。最近,我尝试在我的 C 语言编码中使用 getch()、getche() 函数,为此我在我的系统中安装了 ncurses 库。当我尝试构建代码时,我收到两条错误消息 -

  1. 对“stdscr”的未定义引用
  2. 对“wgetch”的未定义引用

这是我的示例代码:

#include'stdio.h'
#include'ncurses.h'
int main(){
    char ch;
    printf("Enter a character: ");
    ch=getch();
    printf("\nIts ASCII is : %d .",ch);
    return 0;
}        

解决办法是什么? 我知道我必须在命令行中将库链接到我的源代码文件。

这是我的命令行执行:
gcc -o example_3_1_1test1 example_3_1_1.c -lncurses

正确无误

Enter a character: 
Its ASCII is : -1

这是错误的。因为我的程序不接受键盘输入并自动返回-1。

我想自动从代码块构建/编译我的代码。那么,如何在代码块 13.12 中链接 ncurses 库?

提前致谢。

纳兹穆尔

【问题讨论】:

  • 也许这应该移到askubuntu?

标签: c linux ubuntu codeblocks


【解决方案1】:

设置 > 编译器 > 搜索目录

点击添加

我链接了boost


把你的-lncurses放在这里,就像我放-pthreadstd=c11一样

【讨论】:

  • 感谢您的快速回复。我像这样按照你的指示 - i.stack.imgur.com/JDmNC.pngi.stack.imgur.com/l5HQJ.png 仍然发现错误 - 未定义引用 'stdscr' 未定义引用 'wgetch' 知道为什么吗?
  • @nazmulwanted 你说:我知道我必须在命令行中将库链接到我的源代码文件你尝试了什么命令?你应该找到文件的位置
  • @nazmulwanted 可以帮助你How do I link to a library with Code::Blocks?
  • 这是我的主要代码 - #include<stdio.h> #include<ncurses.h> int main(){ char ch; printf("请输入一个字符:"); ch=getch(); printf("\n它的 ASCII 码是 : %d .",ch);返回0; }</ncurses.h></stdio.h> 并在命令行中我写了这个 gcc -o example_3_1_1test1 example_3_1_1.c -lncurses 符合要求但输出错误。输出是 - 'code'输入一个字符:它的 ASCII 是:-1 'code' 但在代码块中也显示提到的错误。
  • @nazmulwanted 哦不!将您的代码放在您的问题中,而不是在这里!看到这样我评论你
猜你喜欢
  • 2014-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多