curses不是linux里默认的C函数库

   今天在调试一个贪吃蛇程序时,出现如下错误:

[hsy@localhost c++]$ g++ snack.cpp -o snack
/tmp/ccCuZ3Jm.o:在函数‘playgame(int, int)’中:
snack.cpp:(.text+0xce):对‘erase’未定义的引用
snack.cpp:(.text+0xed):对‘mvprintw’未定义的引用
snack.cpp:(.text+0x140):对‘mvprintw’未定义的引用
snack.cpp:(.text+0x166):对‘move’未定义的引用
snack.cpp:(.text+0x16b):对‘refresh’未定义的引用
/tmp/ccCuZ3Jm.o:在函数‘main’中:
snack.cpp:(.text+0x2ca):对‘initscr’未定义的引用
snack.cpp:(.text+0x2cf):对‘cbreak’未定义的引用
snack.cpp:(.text+0x2d6):对‘stdscr’未定义的引用
snack.cpp:(.text+0x2e3):对‘keypad’未定义的引用
snack.cpp:(.text+0x2e8):对‘refresh’未定义的引用
snack.cpp:(.text+0x2ef):对‘stdscr’未定义的引用
snack.cpp:(.text+0x2fb):对‘stdscr’未定义的引用
snack.cpp:(.text+0x314):对‘stdscr’未定义的引用
snack.cpp:(.text+0x320):对‘stdscr’未定义的引用
snack.cpp:(.text+0x35f):对‘move’未定义的引用
snack.cpp:(.text+0x370):对‘halfdelay’未定义的引用
snack.cpp:(.text+0x48a):对‘stdscr’未定义的引用
snack.cpp:(.text+0x492):对‘wgetch’未定义的引用
snack.cpp:(.text+0x4a9):对‘endwin’未定义的引用
collect2: 错误:ld 返回 1

  在网上找了很久后终于发现了问题所在。因为 curses 不是linux里默认的C函数库,所以导致编译时未找到函数定义

  正确的方法是:

[hsy@localhost c++]$ g++ snack.cpp -o snack -l curses
[hsy@localhost c++]$ ./snack

原文链接: https://www.cnblogs.com/hsyBlogs/p/4934604.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    curses不是linux里默认的C函数库

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/224038

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月13日 下午12:18
下一篇 2023年2月13日 下午12:18

相关推荐