我正在尝试开始在Linux上使用ncurses开发程序。我什至无法获取Hello World示例进行编译。这是代码:
#include <curses.h>
int main()
{
initscr();
printw("Hello, world.");
refresh();
getch();
endwin();
return 0;
}
当我尝试编译时,我得到:
hello.c:(.text+0x12): undefined reference to `initscr'
对于那些所谓的函数。
我通过apt-get以及下载源代码并进行编译,安装等安装了ncurses。
我已经试过#include
这两个curses.h
和ncurses.h
。
到底是怎么回事?
-lcurses
链接时是否使用了该选项?
包括头文件可以使代码进行编译(因为编译器从.h
文件中知道函数调用的样子),但是链接器需要库文件才能找到要链接到程序中的实际代码。
ncurses 提供字符终端处理库,包括面板和菜单。它提供了一套控制光标、建立窗口、改变前景/背景颜色及处理鼠标操作的函数,使用户在字符终端编写应用程序时绕过了那些恼人的底层机制。简而言之,它是一个可以使应用程序直接控制终端屏幕显示的函数库。 这个软件既可以采用 RPM 包方式安装,也可以采用源码包方式安装。但是不用两种包都安装,只要安装一种即可。 1) 方法一:安装RPM的ncurses包 这里
问题内容: 我可以毫无问题地创建一个共享库。我创建了libcbitcoin.so(没有错误),并尝试通过可执行文件以及OpenSSL库与之链接。我使用以下命令: bin目录是库的位置。obj目录包含我希望链接到可执行文件的目标文件。在命令中,我使用-L,-l和- rpath选项,我认为这是在Linux中进行链接所需的全部。由于出现类似以下的错误,看来我错了: 在库中找到CBNewByteArray
在我使用的数组中。查找以查找对象并将其属性设置为某个值。我只想在有值的情况下设置名称。即;检查以下未定义的是我的数组,我正在使用。查找以查找对象并设置其名称。我只想在找到id==checkid的对象时进行设置。
问题内容: 所以我得到了错误:即使我包含了semaphore.h标头,也出现了“对sem_open()的未定义引用”。我所有的pthread函数调用(mutex,pthread_create等)都发生了同样的事情。有什么想法吗?我正在使用以下命令进行编译: g ++’/home/robin/Desktop/main.cpp’-o’/home/robin/Desktop/main.out’ 问题答案
我尝试在axios中使用Post方法发送一些数据,但是代码的结果没有定义。这是我使用axios发布http请求的代码: 这个代码怎么了?
我使用带有TypeScript的react router v5.1,并具有以下路由配置: 我尝试访问组件中的url参数(TokenName),使用useParams挂钩,如下所示: 然而,typescript认为参数可以是未定义的: 这是没有意义的,因为如果URL中缺少参数,则react router将不匹配此路由。 在这种情况下,我如何修改打字?