Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 编译mex文件时出现链接错误_Macos_Matlab_Linker_Mex - Fatal编程技术网

Macos 编译mex文件时出现链接错误

Macos 编译mex文件时出现链接错误,macos,matlab,linker,mex,Macos,Matlab,Linker,Mex,我正在OSX10.8中的MatlabR2011A下运行mex。 编译过程基本正常。 但是我遇到了一些链接错误。 我在MATLAB命令窗口中使用的命令行是: mex -I/usr/include/ -L/usr/lib/ -O -DDEBUG -DFASTPLOG CalcEntropyScalesOpt.c Hists.c 在MS Windows中运行良好的原始命令行是 mex -O -DDEBUG -DFASTPLOG CalcEntropyScalesOpt.c Hists.c 我添

我正在OSX10.8中的MatlabR2011A下运行mex。 编译过程基本正常。 但是我遇到了一些链接错误。 我在MATLAB命令窗口中使用的命令行是:

mex -I/usr/include/ -L/usr/lib/ -O -DDEBUG -DFASTPLOG CalcEntropyScalesOpt.c  Hists.c
在MS Windows中运行良好的原始命令行是

mex -O -DDEBUG -DFASTPLOG CalcEntropyScalesOpt.c  Hists.c
我添加了那些-I和-L选项来修复一些错误。但链接错误仍然存在:

Undefined symbols for architecture x86_64:
"_mxCreateDoubleMatrix_700", referenced from:
  _do_CalcSalScale1DAA in CalcEntropyScalesOpt.o
  _do_CalcSalScale3D in CalcEntropyScalesOpt.o
  _do_CalcSalScale2D in CalcEntropyScalesOpt.o
  _do_CalcSalScale1DParzen in CalcEntropyScalesOpt.o
  _do_CalcSalScale1D in CalcEntropyScalesOpt.o
"_mxCreateNumericArray_700", referenced from:
  _AACirclePix in CalcEntropyScalesOpt.o
  _CirclePix2 in CalcEntropyScalesOpt.o
... many more like this ...
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

mex: link of ' "CalcEntropyScalesOpt.mexmaci64"' failed.
我想我需要更多的-l或-l选项,但不知道该写什么

谢谢

问候,, Richard已修复

所需的库是mx(libmx.dylib)。 它位于MATLABROOT/bin/maci64下,正常。 但是/usr/lib中有一个错误的符号链接。 链接器实际上链接了该文件,该文件指向某个libSystem.dylib。 我删除了那个链接,一切都很顺利