2014-02-22 48 views
0

我想跟隨Xcode中的在線cs50課程。我已經導入了cs50頭文件。我可以使用printf,但在致電GetInt時仍然出現錯誤。錯誤讀取:C在Xcode cs50.h問題

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

任何幫助當然是極大的讚賞。謝謝。

+1

你假設這裏的人知道是什麼「cs50」是。你在談論https://cs50.harvard.edu嗎?我看了看,不能輕易找到任何可以導入到某個項目中的Xcode或「頭文件」。 –

+0

你在說https://manual.cs50.net/library/#_mac_os嗎? – Arkku

+0

是的,我指的是哈佛大學的介紹性CS課程。 cs50.h包含了課程中使用的許多功能。沒有提及Xcode,因爲他們使用Linux。因此,我的挑戰是使用不同的操作系統和不同的IDE遵循課程。它不太好。 – user3341411

回答

0

您需要將cs50.c添加到XCode中的構建目標中。爲此,請從文件菜單中選擇「將文件添加到...」,然後勾選所有目標的框。如果添加更多構建目標,請選擇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.ccs50.hcs50.c):

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

完美。謝謝。 – user3341411

+0

當使用終端出正確的目錄我得到 - 致命的錯誤:cs50.h沒有找到...所以現在我有.c但不是.h – user3341411

+0

請注意在'#include中使用雙引號''' 「cs50.h」 - 這包括當前目錄中的文件,要包含指定包含目錄中的文件,你可以使用'#include '。你可以在編譯器的命令行中添加'-I.'來指定當前目錄作爲包含目錄。 – Arkku