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
mex编译期间的链接错误 我写了一个C++程序,使用了库yAML CPP。我自己使用cmake构建了它,该库现在位于/usr/local/lib/libyaml cpp.a。 在我的eclipse项目中,构建程序工作得很好_C++_Matlab_Mex - Fatal编程技术网

mex编译期间的链接错误 我写了一个C++程序,使用了库yAML CPP。我自己使用cmake构建了它,该库现在位于/usr/local/lib/libyaml cpp.a。 在我的eclipse项目中,构建程序工作得很好

mex编译期间的链接错误 我写了一个C++程序,使用了库yAML CPP。我自己使用cmake构建了它,该库现在位于/usr/local/lib/libyaml cpp.a。 在我的eclipse项目中,构建程序工作得很好,c++,matlab,mex,C++,Matlab,Mex,为了在matlab中测试程序输出,我还将程序嵌入到mex包装器中。 我尝试编译以下mex命令: prefix = '../../Synthesizer/src/'; mex ('-g', '../mex/synth_process_mex.cpp', [prefix 'test/TestClient.cpp'], [prefix 'Synth.cpp'], ... [prefix 'DataReader.cpp'], [prefix 'StochasticDataReader.cpp'

为了在matlab中测试程序输出,我还将程序嵌入到mex包装器中。 我尝试编译以下mex命令:

prefix = '../../Synthesizer/src/'; 
mex ('-g', '../mex/synth_process_mex.cpp', [prefix 'test/TestClient.cpp'], [prefix 'Synth.cpp'], ...
    [prefix 'DataReader.cpp'], [prefix 'StochasticDataReader.cpp'], [prefix 'GlobalMath.cpp'],...
    [prefix 'Sinusoid.cpp'], [prefix 'Interpolator.cpp'], [prefix 'OSCReceiver.cpp'],...
    [prefix 'Voice.cpp'], '-lyaml-cpp');
在我开始使用yaml cpp库之前,它一直工作得很好。现在,Matlab返回以下错误消息:

Error using mex
/usr/bin/ld: //usr/local/lib/libyaml-cpp.a(parse.cpp.o): Die Umlagerung von
//usr/local/lib/libyaml-cpp.a: error adding symbols: Ungültiger Wert
collect2: error: ld returned 1 exit status

有人能帮我吗?抱歉,我不知道如何更改编译器消息的语言。

问题似乎是,我使用了yaml cpp的静态库版本。我改成了一个共享库,libyaml-cpp.so,现在一切都正常了