2014-01-16 70 views
0

我是C編程的初學者,所以我對基本的東西有疑問。
當我使用非標準包並將它們的頭文件包含到我的項目中時,我總是收到「未定義的函數參考」錯誤。我發現頭文件不包含函數的內部代碼,我猜想我需要以某種方式將頭文件與代碼鏈接起來。所以我的問題是,我應該搜索一些類似dll的函數庫,其中包含函數,或者我應該尋找C源文件,並且無論如何,我將如何將它們與標題鏈接起來,並將它們放在一起工作我的項目?我正在使用CodeBlocks + MinGW。C;頭文件和代碼

+0

小心舉一個你已經包含的一些軟件包的例子嗎?像'#include '還是不太常見? – Macattack

+0

將頭文件包含在C代碼中。鏈接到相應的庫。大多數東西會告訴您文檔中的標題和適當的庫。 –

+0

這些庫有什麼擴展?如果它是.dll,我沒有在這個特定的包中看到任何dll文件。 –

回答

1

您需要使用-L path to libgcc標誌來針對您正在使用的外部庫構建(實際上與庫鏈接)您的可執行文件。

e.g

gcc -L path_to_lib -llib prog.c -o executable 

可以使用locate lib_name知道庫的路徑。

0

當曾經在C有一個頭文件,你將有頭文件示例:

//func.h 
int myfunc(int x); 

那麼你將有一個源文件

塊引用

//func.c 
#include "func.h" 
int myfunc(int x) 
{ 
    return x; 
} 

有主()

//main.c 
#include "func.h" 
int main(){ 
    int x = 2; 
    x = myfunc(x); 
    return x; 
} 
在IDE

那麼你的源文件,你包括你的源文件main.c中和func.c。並在頭文件中包含func.h。

我不使用代碼塊,但基本上任何ide都可以這樣工作。