【问题标题】:C in Xcode cs50.h issuesXcode cs50.h 中的 C 问题
【发布时间】:2014-02-22 18:42:51
【问题描述】:

我正在尝试在 Xcode 中在线学习 cs50 课程。我已经导入了 cs50 头文件。我可以使用printf,但在调用GetInt 时仍然出现错误。错误读取:

Apple Mach-O Linker (Id) Error "_GetInt", referenced from:

当然非常感谢任何帮助。谢谢。

【问题讨论】:

  • 您假设这里的人们知道“cs50”是什么。你在说cs50.harvard.edu 吗?我看了看那里,找不到任何提及 Xcode 或我可以导入某个项目的“头文件”。
  • 是的,我指的是哈佛的 CS 入门课程。 cs50.h 包含课程中使用的许多功能。没有提到 Xcode,因为他们使用 Linux。因此,我的挑战是使用不同的操作系统和不同的 IDE 来完成课程。进展不太顺利。
  • 正是阿库。我已经成功导入了头文件。但即使是最简单的程序,Xcode 也不会编译。即:
  • #include "cs50.h" #include int main(void) { printf("输入编号... \n"); int x = GetInt(); printf("你输入了数字 %d", x);返回0; }

标签: c xcode cs50


【解决方案1】:

您需要在 XCode 中将 cs50.c 添加到您的构建目标中。为此,请从“文件”菜单中选择“将文件添加到...”,然后勾选所有目标的复选框。如果您添加更多构建目标,请选择 cs50.c 文件并在右侧检查器窗格中勾选新目标的框。

请注意,您也可以按照课程说明中的说明使用终端来使用命令行。使用示例代码:

#include <stdio.h>
#include "cs50.h"
int main(void) {
    printf("Input number... \n");
    int x = GetInt();
    printf("You typed the number %d\n", x);
    return 0;
}

您可以按如下方式构建和运行它(假设代码为foo.c与cs50.h和cs50.c在同一目录下):

$ clang -o foo foo.c cs50.c
$ ./foo
Input number...
5
You typed the number 5

【讨论】:

  • 当我在正确的目录之外使用终端时 - 致命错误:找不到 cs50.h...所以现在我有 .c 但没有 .h
  • 注意在#include "cs50.h" 中使用双引号" - 这包括当前目录中的文件。要包含指定包含目录中的文件,您将使用#include &lt;cs50.h&gt;。您可以在编译器的命令行中添加-I.,将当前目录指定为包含目录。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-16
  • 1970-01-01
  • 2020-09-15
  • 2022-11-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多