0
我写了一个使用库yaml-cpp的C++程序。我使用cmake自己构建它,并且该库现在位于/usr/local/lib/libyaml-cpp.a。 在我的eclipse项目中,构建程序正常工作。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'], [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
任何人都可以帮助我吗?对不起,我不知道如何更改编译器消息的语言。