- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试编译我的项目,我使用的是 ncurse 库。我在编译器链接文件时遇到了一些错误。
这是我在 Makefile 中的标志行:
-W -Wall -Werror -Wextra -lncurses
我已经包含了 ncurses.h
一些布局:
prompt$> dpkg -S curses.h
libslang2-dev:amd64: /usr/include/slcurses.h
libncurses5-dev: /usr/include/ncurses.h
libncurses5-dev: /usr/include/curses.h
prompt$> dpkg -L libncurses5-dev | grep .so
/usr/lib/x86_64-linux-gnu/libncurses.so
/usr/lib/x86_64-linux-gnu/libcurses.so
/usr/lib/x86_64-linux-gnu/libmenu.so
/usr/lib/x86_64-linux-gnu/libform.so
/usr/lib/x86_64-linux-gnu/libpanel.s
这是我的错误:
gcc -W -Wall -Werror -Wextra -I./Includes/. -lncurses -o Sources/NCurses/ncurses_init.o -c Sources/NCurses/ncurses_init.c
./Sources/NCurses/ncurses_init.o: In function `ncruses_destroy':
ncurses_init.c:(.text+0x5): undefined reference to `endwin'
./Sources/NCurses/ncurses_init.o: In function `ncurses_write_line':
ncurses_init.c:(.text+0xc5): undefined reference to `mvwprintw'
./Sources/NCurses/ncurses_init.o: In function `ncurses_init':
ncurses_init.c:(.text+0xee): undefined reference to `initscr'
collect2: error: ld returned 1 exit status
非常感谢
最佳答案
您需要更改您的 makefile,以便 -lncurses
指令在 gcc 命令行上在您的目标代码之后,即它需要生成命令:
gcc -W -Wall -Werror -Wextra -I./Includes/. -o Sources/NCurses/ncurses_init.o -c Sources/NCurses/ncurses_init.c -lncurses
这是因为目标文件和库在一次传递中按顺序链接。
关于c - 未定义对 `initscr' Ncurses 的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46792680/
我正在尝试制作一个简单的 ncurses 程序来显示一个带有消息的框。我正在关注这个link它运作良好。我遇到的问题是,如果我将整个代码放在一个函数中并在循环中调用它,初始化就会出错。据我所知,如果我
我对函数 initscr() 有一个真正的大问题。 #include #include #include int main(int ac, char **av) { WINDOW *w
我正在尝试启动 screen = curses.initscr() 但失败并返回 File "C:\Python32\lib\curses\__init__.py", line 31, in init
我正在尝试编译我的项目,我使用的是 ncurse 库。我在编译器链接文件时遇到了一些错误。 这是我在 Makefile 中的标志行: -W -Wall -Werror -Wextra -lncurse
我正在尝试编译我的项目,我使用的是 ncurse 库。我在编译器链接文件时遇到了一些错误。 这是我在 Makefile 中的标志行: -W -Wall -Werror -Wextra -lncurse
我只是在玩 ncurses 等等,我发现了一个非常奇怪的行为。 当我使用 ncurses 库中的 initscr(),然后使用普通的 getchar() 时,程序会在按下第一个键后终止。 我期望的正常
我有以下代码。 initscr(); while ((ch = getch()) != '#') { system("ls"); } endwin(); 问题是结果没有正常打印出来。这就是它给
现在更多的是好奇,有没有办法知道 initscr()的 之前被调用过?我相信打电话initscr()两次是个坏主意。 最佳答案 当 initscr调用成功,它设置变量stdscr和curscr,这两个
为什么delwin导致第二个 initscr什么都不回?我以为endwin将重置为调用 initscr 之前的状态. use NCurses; my $win = initscr(); addstr(
我在 Xubuntu x64 上,我想在我的软件中使用 ncurses。这个软件是用 Qt Creator 4.8 构建的。我没有问题,包括 ncurses.h 文件,但是当我想使用 ncurses
我正在关注 Curses programming HowTo on the Python site ,但我遇到了一个相当奇怪的问题。 我的代码目前非常短,实际上没有做任何事情因为这个错误,我无法继续前
这个问题在这里已经有了答案: Undefined reference to `initscr' Ncurses (4 个答案) 关闭 8 年前。 我注意到我的程序没有构建在另一个发行版上。我在 ma
我们正在尝试使用 ncurses 库来构建终端游戏。initscr() 函数以某种方式返回没有额外信息的错误消息。我们不确定为什么 initscr() 会抛出错误,以及我们应该如何调试它。 Termi
我是一名优秀的程序员,十分优秀!