4

我正在尝试在 Mac OS X 10.6.8 上编译基于 ncurses 的应用程序,但出现此错误。

Undefined symbols for architecture x86_64:
  "_initscr", referenced from:
      _main in ccf8K8YG.o
  "_printw", referenced from:
      _main in ccf8K8YG.o
  "_stdscr", referenced from:
      _main in ccf8K8YG.o
  "_wrefresh", referenced from:
      _main in ccf8K8YG.o
  "_wgetch", referenced from:
      _main in ccf8K8YG.o
  "_endwin", referenced from:
      _main in ccf8K8YG.o

可能是什么问题呢 ?

4

1 回答 1

3

我很确定这是因为您ncurses在编译时没有包含库。

尝试添加:

-lncurses

编译时。

例如(对于 C++):

g++ -o hello main.cpp -lncurses

或使用 gcc(对于 C):

gcc -o hello main.cpp -lncurses

这个简短的命令将编译并执行:

gcc -o hello main.cpp -lncurses && ./hello

这是我的问题,我希望这对某人有所帮助。

于 2019-03-05T19:02:39.827 回答