我正在尝试在Linux上为MATLABR2014a安装LibLinear。在MATLAB中编译时,可以很好地创建read.mexa64和write.mexa64,但是在train.mexa64上它失败了。我以前得到的错误是:
/home/admin/Documents/Project/Software/liblinear-1.94/linear.cpp:2739:19:
warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’,
declared with attribute warn_unused_result [-Wunused-result] fscanf(fp,"\n"); ^
If make.m fails, please check README about detailed instructions.
因此,我在linear.cpp中整理了返回值的处理,但它仍然失败,仅提供将我定向到README的最后一行。我也尝试安装gcc-4.7,g ++-4.7和cpp-4.7,但是make进程仍然终止,没有任何信息。就像我建议的那样,我将matlab目录设置为:
MATLABDIR = /usr/local/matlab
而且我已经包括
-U_FORTIFY_SOURCE
在CFLAGS中,以防万一被忽略的值引起麻烦。我设法从主目录中的命令行对其进行了编译,并且工作正常,但是拥有一个不错的MATLAB界面将是很棒的:)如果有人设法使其启动并运行,我将非常感谢您的帮助!
如果有人偶然发现此问题,那么我发现了一种似乎可行的方法。我尝试直接在matlab文件夹中使用Makefile,但由于遇到编译器错误要求更改源目录而感到奇怪,但是,如果进入Makefile并更改行
MEX_OPTION = CC\#$(CXX) CXX\#$(CXX) CFLAGS\#"$(CFLAGS)" CXXFLAGS\#"$(CFLAGS)"
至
MEX_OPTION = CC=$(CXX) CXX=$(CXX) CFLAGS="$(CFLAGS)" CXXFLAGS="$(CFLAGS)"
它应该工作。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句