我是第一次尝试使用curses.h库,但无论我调用哪个函数,我仍然会收到错误信息
-Symbol(s) not found for Architecture x86_64-
我错过了某种初始化吗?这是我的代码
#include <iostream>
#include <unistd.h>
#include<time.h>
#include <sys/ioctl.h>
#include <iomanip>
#include <ncurses.h>
using namespace std;
int main(int argc, const char * argv[]){
string a,b = ("...");
WINDOW *mywindow;
mywindow = initscr();
refresh();
cout<<"Inserisci la frase da passare in coolprint ->";
cin>>a;
coolprint(a);
cout<<endl;
hackprint(a);
coolprint(b);
cout<<endl;
slideprint(a);
fflush(stdin);
getchar();
return 0;
}
我没有发布所有的功能但是如果我从curses.h中取出调用并使用system(“clear”)代替,那么一切正常.
这可能是一些非常愚蠢的问题,但我是一个c的新手.
希望有人可以提供帮助
谢谢.
解决方法:
看来你没有将ncurses库/usr/lib / libncurses.dylib链接到你的程序中……
目前尚不清楚你是如何编译程序的(makefile,命令行,Xcode),所以我不能进一步提出建议,但应该很容易做到……
在Xcode中:
>在项目导航器中,选择您的项目
>选择目标
>选择“构建阶段”选项卡
>打开’Link Binaries With Libraries’扩展器
>单击“”按钮
>选择您的框架(在您的情况下,在您的SDK下查找libncurses)
>(可选)将添加的框架拖放到“框架”组
注意:OSX非常支持unicode,但是许多开源./configure脚本选择防止ncurses显示unicode字符的设置.