2010-09-07 107 views
0

我必須編譯一個隨matlab工具箱附帶的.c文件。我不能讓gcc工作

爲此我下載的Xcode 3.1.4,現在我想命令,如

​​3210

並得到這樣的錯誤

Undefined symbols: 
    "_N_VFree", referenced from: 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
    "_CVDiag", referenced from: 
     _integrate in cca0ChgX.o 
     _docollapse in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
    "_CVode1", referenced from: 
     _integrate in cca0ChgX.o 
     _docollapse in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
    "_setall", referenced from: 
     _main in cca0ChgX.o 
    "_CVodeFree", referenced from: 
     _integrate in cca0ChgX.o 
     _docollapse in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
    "_genunf", referenced from: 
     _docollapse in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
    "_CVodeMalloc", referenced from: 
     _integrate in cca0ChgX.o 
     _docollapse in cca0ChgX.o 
     _mcwfalg in cca0ChgX.o 
    "_N_VNew", referenced from: 
     _mcwfalg in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
     _main in cca0ChgX.o 
ld: symbol(s) not found 
collect2: ld returned 1 exit status 

回答

1

你可能需要在數學庫鏈接。添加一個-lm到您的gcc行。

+0

所以這可能是真的......但它自己添加-lm不能解決它,我不知道如何下載/找到我需要的庫 – atp 2010-09-07 23:28:58

+1

看看.c文件中的包含。他們通常會引導您使用它使用的庫。 – jkoelker 2010-09-07 23:38:04

2

看起來像是缺少一個或多個庫 - 檢查Matlab文檔以瞭解編譯代碼所需的庫。

2

你錯過了一些圖書館。看看你的代碼使用什麼庫,並將鏈接參數添加到你的gcc行:-l<libname>。您可能還需要添加路徑:-L/path/to/libdir