2016-11-07 185 views
-3

我試過用一個函數做出簡單的函數庫,所以我讀了如何編寫它,但它不起作用,我找不到這樣一個簡單的函數庫的解釋。我應該如何寫它?Error undefined reference to library

的main.c

#include <stdio.h> 
#include "hello.h" 

int main() 
{ 
    hello(); 
    return 0; 
} 

的hello.c

#include <stdio.h> 
#include "hello.h" 

void hello(void) 
{ 
    printf("Hello user 4"); 
} 

hello.h

void hello(void); 
+0

你的開發環境是什麼? –

+0

您是否告訴鏈接器有多個文件要鏈接? –

+0

這是「C++」還是「c」?我的意思是它被標記爲'C++',但代碼是'c'。 – drescherjm

回答

1

你所有的c源代碼文件應該一起編爲一個項目的組成部分。當你創建'hello.c'時(大概是通過選擇File→New→Empty File)CodeBlocks應該提示將文件添加到活動項目中,你應該點擊「Yes」按鈕來確認。然後會出現「保存文件」對話框,並像往常一樣保存文件,編輯和添加代碼,並像往常一樣編譯項目應該工作。

但是,你已經創建了hello.c文件,所以你只需要告訴代碼塊到現有hello.c文件添加到項目中:

右鍵單擊該項目名稱→添加文件→選擇hello.c並單擊確定。

重新編譯該項目,編譯器應鏈接關聯的.c源文件。

或者,您可以將#include "hello.c"添加到main.c中的標題列表中,並獲得相同的結果。然而,由於我們應該將鏈接過程留給編譯器,所以這是不鼓勵的。