我的代码与我前面提到的this问题完全相同,所以没有必要在这里复制它
这是我得到的错误:
Undefined symbols for architecture x86_64:
"_stdscr", referenced from:
_screen_init in screen.o
"_werase", referenced from:
_screen_init in screen.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我以前遇到过这个错误,我觉得它与重复的函数名称有什么关系,但我不知道如何调试它。
修改
将libncurses.dylib文件添加到我的项目后,上面讨论的错误已经消失,但是当我调用screen_init()时出现了一个新的错误;在我的main.cpp中:
// main.cpp
#include "screen.h"
int main(){
screen_init();
}
//新错误
Undefined symbols for architecture x86_64:
"screen_init()", referenced from:
_main in main.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
几乎相同的错误,除了现在在我的主要。我还缺少另一个图书馆吗?这些错误非常神秘,并没有多大帮助。
答案 0 :(得分:1)
我想您需要将库添加到链接阶段,如果您要使用XCode,则应将其添加到项目详细信息中:
libncurses.dylib
添加到您的项目中。