4

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

-未找到体系结构 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++ 的新手。希望有人可以帮助谢谢。

4

2 回答 2

5

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

目前尚不清楚您如何尝试编译程序(makefile、命令行、Xcode),所以我无法提供进一步的建议,但应该很容易完成......

在 Xcode 中:

  1. 在项目导航器中,选择您的项目
  2. 选择你的目标
  3. 选择“构建阶段”选项卡
  4. 打开“使用库链接二进制文件”扩展器
  5. 点击“+”按钮
  6. 选择您的框架(在您的情况下,在您的 SDK 下查找 libncurses)
  7. (可选)将添加的框架拖放到“框架”组

注意:OSX 很好地支持 unicode,但是许多开源 ./configure 脚本选择阻止 ncurses 显示 unicode 字符的设置。

于 2012-06-14T08:30:23.077 回答
1

在终端中使用 gcc:

-> gcc 文件名.c -lncurses

-> ./a.out

于 2016-08-16T06:31:08.690 回答