CS50x课程中get_string未定义编译错误求助
解决CS50库
get_string未定义的链接错误 这个错误是因为编译时只引入了CS50的头文件,却没有链接对应的库文件,导致编译器找不到get_string函数的实现代码。
正确编译命令
在PowerShell中执行编译命令时,必须加上-lcs50参数来链接CS50库:
gcc name.c -o name -lcs50
如果CS50库文件(如libcs50.a/cs50.lib)不在系统默认的库路径下,还要用-L参数指定库所在的目录。比如库文件放在当前目录的lib文件夹里,命令改为:
gcc name.c -o name -L./lib -lcs50
头文件路径检查
如果cs50.h没有和源文件name.c放在同一目录,编译时需要用-I参数指定头文件所在目录。比如头文件在include文件夹里:
gcc name.c -o name -I./include -lcs50
代码小修正
你的代码中printf的字符串缺少换行符,建议修改为:
#include <stdio.h> #include "cs50.h" int main(void) { string answer = get_string("What's your name? "); printf("Hello, %s\n", answer); }
内容的提问来源于stack exchange,提问作者MadaraCodes
相关产品推荐
相关产品推荐

