我是一个完全的初学者,没有以前的编码经验。这个问题的大部分答案都是用技术术语来回答的,但我无法理解。请用更友好的语言来帮助。
我的代码
#include <stdio.h>
#include <cs50.h>
int main(void)
{
string answer = get_string("What is your name");
printf("Hello, %s\n", answer);
}
运行完之后,就知道了。
> Executing task: C/C++: gcc.exe build active file <
Starting build...
C:\msys64\mingw64\bin\gcc.exe -fdiagnostics-color=always -g "C:\Users\MaNaS\Desktop\CS50x\C Code\0002.c" -o "C:\Users\MaNaS\Desktop\CS50x\C Code\0002.exe"
C:/msys64/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\MaNaS\AppData\Local\Temp\ccIpKhYX.o: in function `main':
C:\Users\MaNaS\Desktop\CS50x\C Code/0002.c:6: undefined reference to `get_string'
collect2.exe: error: ld returned 1 exit status
Build finished with error(s).
Terminal will be reused by tasks, press any key to close it.
我使用VS代码和Mingw64。我下载了CS50库,并将cs50.c
& cs50.h
复制到C:\msys64\mingw64\include
发布于 2022-08-03 00:58:15
我也遇到了同样的问题,为了能够在Linux上编译代码,我执行了以下步骤:
1-安装C语言的CS50库
curl -s https://packagecloud.io/install/repositories/cs50/repo/script.deb.sh | sudo bash
sudo apt install libcs50
2-向.bashrc
文件中添加以下变量:
export CC="clang"
export CFLAGS="-fsanitize=signed-integer-overflow -fsanitize=undefined -ggdb3 -O0 -std=c11 -Wall -Werror -Wextra -Wno-sign-compare -Wno-unused-parameter -Wno-unused-variable -Wshadow"
export LDLIBS="-lcrypt -lcs50 -lm"
要访问.bashrc
文件,请在终端中键入nano ~/.bashrc
,并在文件的最后一行键入上面的代码并保存
3-重新启动bash
source ~/.bashrc
4-安装clang
sudo apt-get install clang
5-编译源代码:
make code_name
6-运行您的机器代码:
./code_name
发布于 2022-06-23 21:53:29
我觉得有几个人想帮你不理解CS50x课程。您的代码与我的代码相匹配,但从您的输出来看,您似乎没有在Codespaces中运行您的项目。根据项目规范,您的工作应该在Codespaces中完成。阅读问题的开头,了解如何设置代码空间的说明。不要担心每个人都在谈论string
是怎样的char*
,而get_string
并不存在,当您在Codespaces中运行您的代码时,您的行#include <cs50.h>
将修复所有这些问题。
发布于 2022-06-23 22:54:31
在codespace终端中运行update50
命令,并按照以下说明进行重新构建。
https://stackoverflow.com/questions/71507578
复制相似问题