opencv静态链接库cmake链接顺序问题

使用cmake链接opencv静态库时出现了一些莫名其妙的报错:


image.png

这些函数链接的opencv库里都有,但是却找不到。
原因可以参考https://sundrops.blog.csdn.net/article/details/91475723

解决办法就是修改链接库顺序,如果库A依赖库B, 链接的顺序就应该写为A B, 如果相互依赖就应该为A B A或者B A B的顺序。
以上的报错是因为opencv_ximgproc中的fast_line_detector中的函数依赖于opencv_core,所以opencv_ximgproc在cmake中的顺序必须写在opencv_core前面。
所以cmake中的写法应该是:

target_link_libraries(detect_line opencv_highgui opencv_ximgproc opencv_imgproc opencv_core)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容