OSX Lion上的curses.h问题

Dav*_*ini 3 c++ curses osx-lion

我正在尝试curses.h第一次使用库,但无论我调用哪个函数,我仍然会收到错误信息

-Symbol未找到建筑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;
}
Run Code Online (Sandbox Code Playgroud)

我没有发布所有功能,但如果我从中取出调用curses.hsystem("clear")改为使用,一切正常.这可能是一些非常愚蠢的问题,但我是c ++的新手.希望有人可以帮助谢谢.

ser*_*gio 5

看来你没有将ncurses库链接/usr/lib/libncurses.dylib到你的程序中......

目前尚不清楚你是如何编译程序的(makefile,命令行,Xcode),所以我不能进一步提出建议,但应该很容易做到......

在Xcode中:

  1. 在项目导航器中,选择您的项目
  2. 选择目标
  3. 选择"构建阶段"选项卡
  4. 打开'Link Binaries With Libraries'扩展器
  5. 单击"+"按钮
  6. 选择你的框架(在你的情况下,在你的SDK下查找libncurses)
  7. (可选)将添加的框架拖放到"框架"组

注意:OSX非常支持unicode,但是许多开源./configure脚本选择防止ncurses显示unicode字符的设置.