c – OSX Lion上的curses.h问题

我是第一次尝试使用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字符的设置.

转载注明原文:c – OSX Lion上的curses.h问题 - 代码日志