我是C++的新手,并试图使用get_string,但我不确定我写错了什么,这是创建错误。
我的代码如下:
#include <stdio.h>
#include <cs50.h>
int main(void)
{
string name = get_string("What's your name? ");
printf("hello, %s\n", name);
}
它一直在说下面的错误:
Undefined symbols for architecture arm64:
"_get_string", referenced from:
_main in hello-890d43.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [hello] Error 1
有人知道我做错了什么吗?
我期望代码接受输入并打印出hello,(你的输入).
1条答案
按热度按时间hgqdbh6s1#
同样的事情发生在我身上时,试图使用cs50C库在我的本地Mac与M1芯片。
即使在按如下所述安装了库之后:还是不行。
问题在于这里的
make
命令默认不包含link命令。假设您的源文件名为
hello.c
,而不只是执行以下操作:您必须在终端中输入以下内容才能进行编译:
之后,当运行可执行文件时,它按预期工作: