Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
C++ ld:找不到架构x86_64的符号clang:错误_C++_Xcode_Matlab_Edge Detection - Fatal编程技术网

C++ ld:找不到架构x86_64的符号clang:错误

C++ ld:找不到架构x86_64的符号clang:错误,c++,xcode,matlab,edge-detection,C++,Xcode,Matlab,Edge Detection,我试图使用matlab2020a(macOsx10.14)中的HED代码评估边缘检测结果,并得到以下错误: MEX file '/Users/test/EdgeDetection/eval/edges/private2/correspondPixels.mexmaci64' invalid: dlopen(/Users/test/EdgeDetection/eval/edges/private2/correspondPixels.mexmaci64, 6): Library not loaded

我试图使用matlab2020a(macOsx10.14)中的HED代码评估边缘检测结果,并得到以下错误:

MEX file
'/Users/test/EdgeDetection/eval/edges/private2/correspondPixels.mexmaci64'
invalid:
dlopen(/Users/test/EdgeDetection/eval/edges/private2/correspondPixels.mexmaci64,
6): Library not loaded: @loader_path/libmex.dylib
  Referenced from:
  /Users/test/EdgeDetection/eval/edges/private2/correspondPixels.mexmaci64
    Reason: image not found
因此,我尝试使用

mex -v correspondPixels.cc
输出如下所示:

 INCLUDE = /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/10.0.0/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/10.0.0/include;/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks;
Options file details
-------------------------------------------------------------------
    Compiler location: /Applications/Xcode.app/Contents/Developer
    Options file: /Users/a710/Library/Application Support/MathWorks/MATLAB/R2020a/mex_C++_maci64.xml
    CMDLINE200 : /usr/bin/xcrun -sdk macosx10.14 clang++ -Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -framework Cocoa -bundle  -stdlib=libc++ -O -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/mexFunction.map" -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/c_exportsmexfileversion.map" -Wl,-U,_mexCreateMexFunction -Wl,-U,_mexDestroyMexFunction -Wl,-U,_mexFunctionAdapter -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/cppMexFunction.map" /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/correspondPixels.o /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/cpp_mexapi_version.o   -L"/Applications/Polyspace/R2020a/bin/maci64" -lmx -lmex -lmat -L"/Applications/Polyspace/R2020a/extern/bin/maci64" -lMatlabDataArray -lMatlabEngine -o correspondPixels.mexmaci64
    CC : /usr/bin/xcrun -sdk macosx10.14 clang
    CXX : /usr/bin/xcrun -sdk macosx10.14 clang++
    DEFINES : -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -DMATLAB_MEX_FILE 
    MATLABMEX : -DMATLAB_MEX_FILE 
    MACOSX_DEPLOYMENT_TARGET : 10.9
    CFLAGS : -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
    CXXFLAGS : -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fobjc-arc -std=c++11 -stdlib=libc++
    INCLUDE : -I"/Applications/Polyspace/R2020a/extern/include" -I"/Applications/Polyspace/R2020a/simulink/include"
    CXXOPTIMFLAGS : -O2 -fwrapv -DNDEBUG
    CXXDEBUGFLAGS : -g
    LD : /usr/bin/xcrun -sdk macosx10.14 clang
    LDXX : /usr/bin/xcrun -sdk macosx10.14 clang++
    LDFLAGS : -Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -framework Cocoa -bundle  -stdlib=libc++
    LDBUNDLE : -bundle 
    LINKEXPORT : -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/mexFunction.map"
    LINKEXPORTVER : -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/c_exportsmexfileversion.map"
    LINKEXPORTCPP : -Wl,-U,_mexCreateMexFunction -Wl,-U,_mexDestroyMexFunction -Wl,-U,_mexFunctionAdapter -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/cppMexFunction.map"
    LINKLIBS : -L"/Applications/Polyspace/R2020a/bin/maci64" -lmx -lmex -lmat -L"/Applications/Polyspace/R2020a/extern/bin/maci64" -lMatlabDataArray -lMatlabEngine
    LDOPTIMFLAGS : -O
    LDDEBUGFLAGS : -g
    OBJEXT : .o
    LDEXT : .mexmaci64
    SETENV : CC="/usr/bin/xcrun -sdk macosx10.14 clang"
                CXX="/usr/bin/xcrun -sdk macosx10.14 clang++"
                CFLAGS="-fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -DMATLAB_MEX_FILE "
                CXXFLAGS="-fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fobjc-arc -std=c++11 -stdlib=libc++ -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -DMATLAB_MEX_FILE "
                COPTIMFLAGS="-O2 -fwrapv -DNDEBUG"
                CXXOPTIMFLAGS="-O2 -fwrapv -DNDEBUG"
                CDEBUGFLAGS="-g"
                CXXDEBUGFLAGS="-g"
                LD="/usr/bin/xcrun -sdk macosx10.14 clang"
                LDXX="/usr/bin/xcrun -sdk macosx10.14 clang++"
                LDFLAGS="-Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -framework Cocoa -bundle  -stdlib=libc++ -L"/Applications/Polyspace/R2020a/bin/maci64" -lmx -lmex -lmat -L"/Applications/Polyspace/R2020a/extern/bin/maci64" -lMatlabDataArray -lMatlabEngine -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/mexFunction.map""
                LDDEBUGFLAGS="-g"
    DEVELOPER_DIR_CHECK : 
    XCODE_DIR : /Applications/Xcode.app/Contents/Developer
    XCRUN_DIR : /usr/bin
    XCODE_AGREED_VERSION : 9.2
    ISYSROOT : /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
    SDKVER : 10.14
    CLANG_VERSION : 10.0.0
    MATLABROOT : /Applications/Polyspace/R2020a
    ARCH : maci64
    SRC : "/Users/hed/data/BSDS500/bench/source/correspondPixels.cc";"/Applications/Polyspace/R2020a/extern/version/cpp_mexapi_version.cpp"
    OBJ : /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/correspondPixels.o;/var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/cpp_mexapi_version.o
    OBJS : /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/correspondPixels.o /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/cpp_mexapi_version.o 
    SRCROOT : /Users/hed/data/BSDS500/bench/source/correspondPixels
    DEF : /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/correspondPixels.def
    EXP : "correspondPixels.exp"
    LIB : "correspondPixels.lib"
    EXE : correspondPixels.mexmaci64
    ILK : "correspondPixels.ilk"
    MANIFEST : "correspondPixels.mexmaci64.manifest"
    TEMPNAME : correspondPixels
    EXEDIR : 
    EXENAME : correspondPixels
    OPTIM : -O2 -fwrapv -DNDEBUG
    LINKOPTIM : -O
    CMDLINE100_0 : /usr/bin/xcrun -sdk macosx10.14 clang++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -DMATLAB_MEX_FILE  -I"/Applications/Polyspace/R2020a/extern/include" -I"/Applications/Polyspace/R2020a/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fobjc-arc -std=c++11 -stdlib=libc++ -O2 -fwrapv -DNDEBUG "/Users/hed/data/BSDS500/bench/source/correspondPixels.cc" -o /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/correspondPixels.o
    CMDLINE100_1 : /usr/bin/xcrun -sdk macosx10.14 clang++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -DMATLAB_MEX_FILE  -I"/Applications/Polyspace/R2020a/extern/include" -I"/Applications/Polyspace/R2020a/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fobjc-arc -std=c++11 -stdlib=libc++ -O2 -fwrapv -DNDEBUG "/Applications/Polyspace/R2020a/extern/version/cpp_mexapi_version.cpp" -o /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/cpp_mexapi_version.o
-------------------------------------------------------------------
use 'Xcode Clang++' compile.
/usr/bin/xcrun -sdk macosx10.14 clang++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -DMATLAB_MEX_FILE  -I"/Applications/Polyspace/R2020a/extern/include" -I"/Applications/Polyspace/R2020a/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fobjc-arc -std=c++11 -stdlib=libc++ -O2 -fwrapv -DNDEBUG "/Users/a710/Desktop/hed/data/BSDS500/bench/source/correspondPixels.cc" -o /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/correspondPixels.o
In file included from /Users/a710/Desktop/hed/data/BSDS500/bench/source/correspondPixels.cc:8:
/Users/a710/Desktop/hed/data/BSDS500/bench/source/csa.hh:912:5: warning: add explicit braces to avoid dangling else [-Wdangling-else]
    else
    ^
/Users/a710/Desktop/hed/data/BSDS500/bench/source/csa.hh:1217:25: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
  (void) fprintf(stderr,nomem_msg);
                        ^~~~~~~~~
/Users/a710/Desktop/hed/data/BSDS500/bench/source/csa.hh:1217:25: note: treat the string as an argument to avoid this
  (void) fprintf(stderr,nomem_msg);
                        ^
                        "%s", 
/Users/a710/Desktop/hed/data/BSDS500/bench/source/csa.hh:1223:25: warning: format string is not a string literal (potentially insecure) [-Wformat-security]
  (void) fprintf(stderr,nomem_msg);
                        ^~~~~~~~~
/Users/a710/Desktop/hed/data/BSDS500/bench/source/csa.hh:1223:25: note: treat the string as an argument to avoid this
  (void) fprintf(stderr,nomem_msg);
                        ^
                        "%s", 
3 warnings generated.

/usr/bin/xcrun -sdk macosx10.14 clang++ -c -DMATLAB_DEFAULT_RELEASE=R2017b  -DUSE_MEX_CMD   -DMATLAB_MEX_FILE  -I"/Applications/Polyspace/R2020a/extern/include" -I"/Applications/Polyspace/R2020a/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -fobjc-arc -std=c++11 -stdlib=libc++ -O2 -fwrapv -DNDEBUG "/Applications/Polyspace/R2020a/extern/version/cpp_mexapi_version.cpp" -o /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/cpp_mexapi_version.o
/usr/bin/xcrun -sdk macosx10.14 clang++ -Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk -framework Cocoa -bundle  -stdlib=libc++ -O -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/mexFunction.map" -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/c_exportsmexfileversion.map" -Wl,-U,_mexCreateMexFunction -Wl,-U,_mexDestroyMexFunction -Wl,-U,_mexFunctionAdapter -Wl,-exported_symbols_list,"/Applications/Polyspace/R2020a/extern/lib/maci64/cppMexFunction.map" /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/correspondPixels.o /var/folders/8q/gj54rs5s6cv3whdzmhkf79_m0000gn/T/mex_1719808412277515_56763/cpp_mexapi_version.o   -L"/Applications/Polyspace/R2020a/bin/maci64" -lmx -lmex -lmat -L"/Applications/Polyspace/R2020a/extern/bin/maci64" -lMatlabDataArray -lMatlabEngine -o correspondPixels.mexmaci64
error using mex
Undefined symbols for architecture x86_64:
  "matchEdgeMaps(Matrix const&, Matrix const&, double, double, Matrix&, Matrix&)",
  referenced from:
      _mexFunction in correspondPixels.o
  "Matrix::data()", referenced from:
      _mexFunction in correspondPixels.o
  "Matrix::Matrix(int, int, double*)", referenced from:
      _mexFunction in correspondPixels.o
  "Matrix::Matrix()", referenced from:
      _mexFunction in correspondPixels.o
  "Matrix::~Matrix()", referenced from:
      _mexFunction in correspondPixels.o
  "Matrix::numel() const", referenced from:
      _mexFunction in correspondPixels.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
 

有人知道如何解决这个问题吗?也许我没有包含一些库来链接这些函数,但是我如何才能找到哪些库呢?我不知道。谢谢任何人能给我的帮助。

答案在“帮助”吗?谢谢你的建议。我试图将libmex.dylib复制到脚本的文件夹中,但也得到了相同的错误,但也非常感谢:)很抱歉听到这个消息。那我就不知道了。