0

我必须编译一个 matlab 工具箱附带的 .c 文件。

为此我下载了xcode 3.1.4,现在我正在尝试类似的命令

gcc -o solvemc solvemc.c

并得到类似的错误

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
4

3 回答 3

2

看起来您缺少一个或多个库 - 检查 Matlab 文档以了解编译代码所需的库。

于 2010-09-07T23:13:35.723 回答
2

您缺少一些库。查看您的代码使用哪些库并将链接参数添加到您的 gcc 行:-l<libname>. 您可能还需要添加路径:-L/path/to/libdir.

于 2010-09-07T23:13:40.260 回答
1

您可能需要在数学库中链接。将 a 添加-lm到您的 gcc 行。

于 2010-09-07T23:13:25.783 回答