Apple Mach -O (ID) 链接器错误,ncurses

Apple Mach -O (ID) Linker Error, ncurses

我是 C++ 编程的新手,目前我遇到了一个非常常见的问题:Xcode 的 "Apple Mach-O Linker (id) Error"。 据我了解,问题来自包含所有 getch 属性的标准 ncurses 库。我之所以 post 这是因为我真的找不到解决方案,而且这个错误与其他链接器错误相比似乎有点不同。 我正在使用带有 Xcode 8 的 OS X 计算机,简单的命令行脚本作为 Xcode 项目。 这是它在问题选项卡中的样子: Image view. 无论如何,如果有人真的有时间做这些事情,这是我当前的代码:

整数

int x, y;
int ch;
x = width / 2;
y = height / 2;

地图

system("clear");

for (int i = 0; i < width+2; i++) //upper row
    cout << "#";
cout << endl;

for (int i = 0; i < height; i++) //mid rows upways
{
    for (int j = 0; j < width; j++) //mid rows sideways
    {
        if (j == 0)
            cout << "#";
        if (i == y && j == x)
            cout << "O";
        else
            cout << " ";
        if (j == width - 1)
            cout << "#";
    }
    cout << endl;
}

for (int j = 0; j < height+2; j++)  //bottom row
    cout << "#";
cout << endl;

问题

if (ch == 0 || ch == 224)
{
    switch (getch ())
    {
        case 72:
            x++; //up key
            break;

        case 80:
            //down key
            break;

    }
}

我确实删掉了很多其他的代码,但我相信其他的东西根本不重要。因此,如果您想了解更多信息,请告诉我,我会对其进行编辑。 谢谢!

从屏幕截图来看,您似乎没有针对 libncurses 进行链接。在构建设置中将“-lncurses”添加到 "Other Linker Flags"(单击导航器中的项目,编辑器中的 select "Build Settings" 选项卡)或更好地将 libncurses 添加为链接库(单击项目文件导航器,select "Build Phases" 选项卡,展开 "Link Binary With Libraries",单击加号并键入 "ncurses"、select "libncurses.a" 或 "libncurses.tbd") .