2010-09-07 109 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