工作中有一个人脸特征点提取用的是matlab的脚本,现在想集成到c++里面调用。直接转成C++代码估计要一定数学基础,所以还是先想想怎么用C++直接调用。
https://zhuanlan.zhihu.com/p/...
目测把它编译成dll可行。
image.png
但是我电脑是VS2015 VS2019共存的。不管了,先干了再说
image.png
然后就进入了漫长的等待,看了看CPU,占用也没到100%,好像也不耽误我做其他事情,不像VS多线程编译,编译的时候就别想做事了。然后也没过多久,就生成了如下几个文件
image.png
这个DLL和lib都不大,想来还有其他的依赖……不管了,先放进去跑看看能不能跑通。
好嘛,费劲的配置完成了,结果还是崩了
image.png
只能退而求其次的,用matlib直接调了。
然后搜到一个指令

matlab -nodesktop -nosplash -nodisplay  -r CreatFeatures('../data3/','basic_xyz_ascii.txt'),quit

本来还有个-nojvm的选项,结果提示不支持,然后-nodisplay也不支持,但是不报错。而且下了命令之后控制台就立即返回了,所以它也不阻塞…… 那我怎么知道它处理完了没有……想了想,总有办法的,比如写一个文件,甚至是删除一个文件。然后去监控某个文件夹,检测到它的删除操作我就认为它处理完了……


折腾了一番,回来填坑,本来以为是版本或者破解的动态库的原因,结果发现是调试的默认设置有坑。得将属性中得调试选项从(auto/自动) 切换到 (仅托管/only manager)
不过打印和显示是否会影响效率,还是未知的,只能试过之后再说。


程某有一计
28 声望7 粉丝

本科机械,半路转行C++,在掉头发的边缘疯狂试探。


引用和评论

0 条评论