当我在Xcode中运行此代码时,生成失败。我从The Big Nerd Ranch Guide to Obj-C那里得到了大块。我不得不稍微修改它(添加库stdlib.h和readline/readline.h)它表示构建失败,但没有我能看到的错误。这个问题可能看起来像是重复的,而且在某种程度上,但即使在看到他们的解决方案并为自己尝试之后,我仍然会遇到错误。readline无法正常工作
#include <stdio.h>
#include <readline/readline.h>
#include <stdlib.h>
int main(int argc, const char * argv[])
{
printf("Who is cool? ");
const char *name = readline(NULL);
printf("%s is cool!\n\n", name);
return 0;
}
Undefined symbols for architecture x86_64: "_readline", 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)
一方面,当你运行它时,你会说“什么都没有发生”。但另一方面,你说“构建失败”。你能否澄清一下你是在询问编译时还是运行时问题? – kaylum
哦,对不起!没有清楚地思考。当我点击运行时,它说构建失败。在此之前和之后,它说没有错误。 – Dingo
当它说“构建失败”时,应该有一个错误日志。请发布所报告的确切错误。另外,你有libreadline链接?你说你有“添加库”。但是这些是在编译期间使用的头文件,但不是需要链接的实际库。我对Xcode一无所知,但有些地方你需要告诉它在libreadline中链接。在命令行上它将是'-lreadline'选项。 – kaylum